gpt4 book ai didi

java - "Cannot run program"在程序文件名中使用带有空格的 Runtime.exec 时

转载 作者:行者123 更新时间:2023-12-04 00:32:42 25 4
gpt4 key购买 nike

我正在使用下面的代码打开“sample.html”文件。

String filename = "C:/sample.html";

String browser = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe";

Runtime rTime = Runtime.getRuntime();

Process pc = rTime.exec(browser + filename);

pc.waitFor();

但是,我收到以下错误。

java.io.IOException: Cannot run program "C:/Program": CreateProcess error=2, The system cannot find the file specified

有人可以帮我解决这个问题吗?提前致谢。

最佳答案

Runtime.exec(String) 自动在空格处拆分字符串,假设第一个标记是命令名称,其余是命令行参数。此外,browserfile 之间没有空格,尽管这不是问题的根本原因。

它认为你想用两个命令行参数运行“C:/Program”:

  1. "file"
  2. “(x86)/google/Chrome/Application/chrome.exeC:/sample.html”

使用Runtime.exec(String[])相反,这样你就可以完全控制什么是什么:

 String[] command = new String[]{browser, filename};
Runtime.exec(command);

关于java - "Cannot run program"在程序文件名中使用带有空格的 Runtime.exec 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22414646/

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