2017-08-04 11 views
0

以下は、soxを使用してwavファイルをトリムするために書いたコードです。 soxは私のシステムにインストールされています。soxコマンドを直接cmdで使用すると正しく動作しますが、Javaコードでは部分的に実行され、outfileは作成されません。今では 'C:\ Program'を受け取っても、内部または外部のコマンド、 操作可能なプログラムまたはバッチファイルとして認識されません。ディレクトリがにスペースがある場合cmdを使用してWindows環境でjavaコードからsoxコマンドを実行する方法

Process p=Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"C:\\Program Files (x86)\\sox-14-4-2\\sox.exe && sox D:\\Office\\VoiceClipping\\AudioFiles\\test.wav D:\\Office\\VoiceClipping\\AudioFiles\\ans.wav trim 5 =10\""); 
     p.waitFor(); 
     BufferedReader reader=new BufferedReader(
       new InputStreamReader(p.getInputStream()) 
     ); 
     String line; 
     while((line = reader.readLine()) != null) 
     { 
      System.out.println(line); 
     } 

答えて

0

"Program Files (x86)"周りquotatesを入れて、あなたのケースit.Inの周りに引用符を置きます。

+0

返信ありがとう、私はsoxのための私のインストールディレクトリを変更します "Process p = Runtime.getRuntime()。exec(" cmd/c start cmd.exe/K \ "sox D:\\ Office \\ VoiceClipping \\ AudioFiles \\ test.wav D:\\ Office \\ VoiceClipping \\ AudioFiles \\ ans.wav trim 5 = 10 \ ""); "まだsoxコマンドはcmdに渡されません。 – user3882060

関連する問題