2つの引数を持つコマンドラインプログラムを実行する必要があります。ただし、作業ディレクトリで実行する必要があります。つまり、「c:\ folder \ subfolder \ command arg1 arg2」以外の「command arg1 arg2」です。Javaの特定の作業ディレクトリでコマンドラインプログラムを実行する必要があります
ここで他の質問からRuntime.exec(cmdArray、null、workingDirectory)を使用しています。私は "CreateProcessエラー= 2、システムが指定されたファイルを見つけることができません"を取得し続けます。私はチェックして、パスとファイルの両方が存在するので、何がうまくいかないのか分からない。ここで私が使用しているコードです。
String [] fileName = {"mp3wrap.exe", "Clear_10", "*.mp3"};
String dirName = "E:\\Music\\New Folder\\zz Concatinate\\Clear_10";
try {
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(fileName, null, new File(dirName));
BufferedReader input = new BufferedReader(new InputStreamReader
(pr.getInputStream()));
String line = null;
while ((line = input.readLine()) != null) {
System.out.println(line);
}//end while
int exitVal = pr.waitFor();
System.out.println("Exited with error code " + exitVal);
}//end try
catch (Exception e) {
System.out.println(e.toString());
e.printStackTrace();
}//end catch`
私はこのエラーを取得しています:
にjava.io.IOException:プログラム "mp3wrap.exe" を実行できません(ディレクトリ内の "E:音楽\新しいフォルダ\のZZ Concatinate \ Clear_10 \") :CreateProcess error = 2、指定されたファイルが見つかりません
パス全体を渡しますか?あなたは精巧にplできますか? –
@Zedai:Windowsの場合「C:¥¥Programs¥¥tools¥¥audio¥¥JoinTheParty¥¥Player¥¥mp3wrap.exe」などです。 Linuxの ''/usr/local/bin/mp3wrap ''などです。 –
質問を読み返して答えを広げてください。 –