java - 文件打开问题

标签 java netbeans file-io

对于我的 A2 计算类(class)作业,我需要从 Java 程序打开并使用媒体播放器或 iTunes。我目前的代码是这样的:-

    package random.file.opener; 

    import java.io.IOException;

    public class RandomFileOpener {
    public static void main(String args[]) throws IOException {
        Runtime.getRuntime().exec("C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe");
    //this is to try to run internet explorer as a proof of concept
}
}

但是这会引发此错误:-

    Exception in thread "main" java.io.IOException: Cannot run program "iexplore.exe" (in directory "C:\Users\Program Files (x86)\Internet Explorer\iexplore.exe"): CreateProcess error=267, The directory name is invalid
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
at random.file.opener.RandomFileOpener.main(RandomFileOpener.java:19) Caused by: java.io.IOException: CreateProcess error=267, The directory name is invalid
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:376)
at java.lang.ProcessImpl.start(ProcessImpl.java:136)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)
... 1 more

Java 结果:1

编辑:但是,我能够运行

    package random.file.opener; 

    import java.io.IOException;

    public class RandomFileOpener {
    public static void main(String args[]) throws IOException {
        Runtime.getRuntime().exec("C:\\Windows\\System32\\taskmgr.exe");

}
}

运行完美..

有没有一种特定的方法来处理这个错误,因为我的代码似乎是“正确的”,但这个错误似乎一直困扰着我。 非常感谢任何帮助,谢谢。

最佳答案

如果你想从你的 java 应用程序中启动一些可执行文件,那么建议使用 ProccessBuilder ,您将避免路径中有空格的问题,检查此 answer它可能会在您使用 ProccessBuilder 时对您有所帮助。

当您必须从 Java 程序打开文件、浏览器或任何 GUI 应用程序时,您可以使用 Desktop调用操作系统中的默认应用程序以打开特定文件的类,示例:

import java.awt.Desktop;
import java.io.File;
public class MyClass {
 public static void main(String[] args) throws IOException {
        File file = new File("myFile.txt");
        Desktop desktop = Desktop.getDesktop();
        if(file.exists()) desktop.open(file);

}
}

关于java - 文件打开问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24218077/

相关文章:

java - Libgdx:保存和加载

tomcat - Netbeans Web 应用程序无法在 Windows 7 上启动

java - 如何让 FileWatcher 告诉我修改的文件是一个文件夹?

java - 为什么我在 Eclipse 中收到这些错误?

java - 日期格式 SQL

java - 什么更适合用于创建布局。 Java 还是 XML?

c++ - 在 Netbeans 中编译 V8 Hello World

regex - 如何找到不包含子模式的模式?

java - 使用 iText java 选择整个 pdf 文档的文本和背景

c - 下标值既不是数组也不是指针