如何在Windows环境下使用cmd从java代码运行sox命令
问题描述:
以下是我编写的使用sox修剪wav文件的代码。 sox被安装在我的系统中,如果我直接在cmd中使用sox命令,它可以正常工作,但在java代码中它的运行是部分的,并且没有创建outfile。现在我收到的'C:\ Program'不被识别为内部或外部命令,可操作的程序或批处理文件。如何在Windows环境下使用cmd从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);
}
答
如果目录有空格,把引号it.In你的情况下,把周围"Program Files (x86)"
quotates。
感谢您的回复,我改变我的安装目录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