我的 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) + "\"";
这很好用。但我想知道这种方法是万无一失的吗?或者还有什么我应该处理的事情,就像我转义双引号的方式一样?
任何帮助都会很棒!