我对Java比较陌生,我正在创建我的第一个项目。
无论如何,我正在尝试使用Runtime.getRuntime().exec(__)执行位于同一文件夹中的另一个编译程序;
问题是-当运行并输入程序其余部分的必要信息并到达执行点时,我得到了一种错误。
java.io.IOException: Cannot run program "\Italian": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at java.lang.Runtime.exec(Runtime.java:450)
at java.lang.Runtime.exec(Runtime.java:347)
at Login.main(LOGIN.java:24)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
at java.lang.ProcessImpl.start(ProcessImpl.java:137)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 4 more主要代码是-
import java.util.Scanner;
import java.io.*;
import javax.swing.JOptionPane;
class Login {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String username;
String password;
String a = "\\Italian";
username = JOptionPane.showInputDialog(null,"Log in:\nEnter username: ");
password = JOptionPane.showInputDialog(null,"Enter Password: ");
users check = new users(username, password);
if(check.auth())
try
{
Runtime.getRuntime().exec(a);
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
}
}发布于 2015-06-12 22:56:37
错误消息准确地告诉您错误所在--您感兴趣的文件的路径是错误的。要找出正确的路径,请添加到您的程序:
System.out.println("user dir path: " + System.getProperty("user.dir"));然后使用相对于所示路径的路径。
另外,意大利语文件是否具有诸如.exe之类的扩展名?否则,它将如何运行?当调用Runtime.getRuntime().exec(a);时,需要表示一个可执行的String集合,通常是一个数组或ArrayList,有时需要直接调用操作系统的命令。另外,考虑使用ProcessBuilder来获取您的进程,不要忘记处理进程的流。
发布于 2021-05-08 11:08:37
你在什么opsys上运行,安卓,linux,windows?
在android的终端中,如果是有权限的二进制文件,只需输入命令即可。
如果它位于没有执行权限的驱动器上,例如sdcard,您可以键入"sh“
如果是windows,请在命令前键入完整路径:"c:/folder/runcmd.exe“
https://stackoverflow.com/questions/30806105
复制相似问题