我想執行一個程序(System.getenv("appdata") + "ffmpeg"
)。我也希望能夠得到一個流程,或者可以讓我得到consle輸出的東西。我曾嘗試過「cmd/C」+ System.getenv("appdata") + "ffmpeg"
,它似乎沒有工作。任何幫助表示讚賞!使用Runtime.exec從另一個目錄執行程序
下面是一些代碼:
Process p = exec(testFFMpeg);
int ex = -1;
try {
ex = p.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
CrashHandler.reportCrash("FFMpeg", "Unable to test FFMpeg", "start up with more permissions");
}
if(ex == 0){
System.out.println("Normal execution, exit value: " + ex);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
do{
try {
line = br.readLine();
System.out.println(line);
} catch (IOException e) {
e.printStackTrace();
CrashHandler.reportCrash("FFMpeg", "Unable to test FFMpeg", "start up with more permissions");
}
}while(line != null);
}else{
System.out.println("Execution exit value: " + ex);
}
}
private static Process exec(String[] cmd){
try {
return Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
e.printStackTrace();
CrashHandler.reportCrash("FFMpeg", "Unable to test FFMpeg", "start up with more permissions");
}
該文件的確切位置是:`System.getenv( 「應用程序數據」)+ 「\ VinVid \」 + 「ffmpeg.exe」。
請看http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html –
我會看看 – APerson
有一件事是,我會如何得到輸出保存到文件。 – APerson