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) + "\"";
これはうまくいきます。しかし、このアプローチは誰にでもできるのでしょうか? または、二重引用符をエスケープした方法のように処理する必要があるものは他にありますか?
どんな助けでも素晴らしいでしょう!