gpt4 book ai didi

java - 作为参数传递时转义文件名

转载 作者:行者123 更新时间:2023-12-02 00:04:33 24 4
gpt4 key购买 nike

我的 Java 程序正在启动另一个进程并将文件的绝对路径作为命令行参数传递。该路径可能包含空格。因此,我在将路径添加到参数之前引用该路径。当路径中出现双引号时,我用 \ 对其进行转义。

这是代码:

private String escapeQuotes(String original) {
StringBuilder builder = new StringBuilder();
for (int i = 0; i < original.length(); i++) {
if (original.charAt(i) == '"') {
builder.append('\\');
}
builder.append(original.charAt(i));
}
return builder.toString();
}

我使用它就像,

String args = " \"" + escapeQuotes(filePath) + "\"";

这个效果很好。但我想知道这种方法万无一失吗?或者还有什么我应该处理的,就像我转义双引号的方式一样?

任何帮助都会很棒!

最佳答案

我认为你不需要这样做,例如

Runtime.getRuntime().exec(new String[] {"cmd", "/c", "dir", "d:/test ;test"})

工作正常,请注意“f:/test ;test”包含机器人“”和“;”

关于java - 作为参数传递时转义文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14138289/

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