首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Runtime.getRuntime().exec(__);

Runtime.getRuntime().exec(__);
EN

Stack Overflow用户
提问于 2015-06-12 22:53:54
回答 2查看 1.3K关注 0票数 1

我对Java比较陌生,我正在创建我的第一个项目。

无论如何,我正在尝试使用Runtime.getRuntime().exec(__)执行位于同一文件夹中的另一个编译程序;

问题是-当运行并输入程序其余部分的必要信息并到达执行点时,我得到了一种错误。

代码语言:javascript
复制
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

主要代码是-

代码语言:javascript
复制
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();
        }


    }

}
EN

回答 2

Stack Overflow用户

发布于 2015-06-12 22:56:37

错误消息准确地告诉您错误所在--您感兴趣的文件的路径是错误的。要找出正确的路径,请添加到您的程序:

代码语言:javascript
复制
System.out.println("user dir path: " + System.getProperty("user.dir"));

然后使用相对于所示路径的路径。

另外,意大利语文件是否具有诸如.exe之类的扩展名?否则,它将如何运行?当调用Runtime.getRuntime().exec(a);时,需要表示一个可执行的String集合,通常是一个数组或ArrayList,有时需要直接调用操作系统的命令。另外,考虑使用ProcessBuilder来获取您的进程,不要忘记处理进程的流。

票数 2
EN

Stack Overflow用户

发布于 2021-05-08 11:08:37

你在什么opsys上运行,安卓,linux,windows?

在android的终端中,如果是有权限的二进制文件,只需输入命令即可。

如果它位于没有执行权限的驱动器上,例如sdcard,您可以键入"sh“

如果是windows,请在命令前键入完整路径:"c:/folder/runcmd.exe“

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30806105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档