gpt4 book ai didi

java - 文件打开问题

转载 作者:行者123 更新时间:2023-11-30 11:17:45 25 4
gpt4 key购买 nike

对于我的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com