ユーザーがcmdコマンドを実行できる単純なJavaアプリケーションを作成しています。コマンドを入力するための TextField と、それを実行するためのボタンがあります。コードは次のようになります。
sendButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/c", message.getText());
Process pr = pb.start();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
ユーザーが実行すると、すべて正常に動作します
メモ帳.exe
しかし、コマンドが次のような場合、何らかの理由でjava.lang.IllegalArgumentExceptionが発生します。
"C:\Users\Username\AppData\Local\Google\Chrome\Application\chrome.exe" www.youtube.com
おそらく引用符が原因です。これに対する回避策を知っている人はいますか?