gpt4 book ai didi

可执行文件的 Java 文件路径有空格

转载 作者:行者123 更新时间:2023-11-30 06:23:36 30 4
gpt4 key购买 nike

我有一个 Java 程序,它要求用户输入需要执行的文件的路径。

路径可以是这样的,例如:C:/ProgramFiles/Citrix/ICA Client/pnagent.exe 我用这个路径创建了一个 File 对象,然后检查以确保它存在,并检查以确保它是一个文件,并检查以确保它是可执行的。就 File 而言,它是一个完全有效的对象。

注意: 文件 对象称为“脚本”

但是当我运行脚本时,我收到有关空格的错误。

Runtime rt = java.lang.Runtime.getRuntime();
Process pp = rt.exec(script.getAbsolutePath());

我 100% 第一行工作正常。我收到的错误是下图:(我将其显示在 JOptionPane 中。)

Error Image

消除错误的最佳方法是什么?提前致谢!


尝试的解决方案 #1:Process pp = rt.exec("\""+script.getAbsolutePath()+"\"");

当我使用 C:\Tools\IT Support\bookmark.htm 时,我得到 enter image description here

最佳答案

编辑:
到目前为止,最可靠的方法是使用 Runtime.exec(String[] cmdarray) .

如果您使用 Runtime.exec(String command) , Java 仅在空格处拆分命令。

the command string is broken into tokens using a StringTokenizer created by the call new StringTokenizer(command) with no further modification of the character categories. The tokens produced by the tokenizer are then placed in the new string array cmdarray, in the same order.

另见 g++: File not found

或者使用ProcessBuilder像这样:

ProcessBuilder pb = new ProcessBuilder("ln", "-s", "dir1/dir2", "my dir/dir2");
Process p = pb.start();

关于可执行文件的 Java 文件路径有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18216693/

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