2017-06-30 83 views
-1

我想在Windows上執行此命令,但似乎Java的exec不與重定向工作。我怎麼解決這個問題?在Windows上的Java運行時exec重定向

c:/coolroid/gicater/mysqldump.exe -h127.0.0.1 -uroot -pagile -P3308 coolroid > C:/jukebackup/coolroid_1498793488965.bak 

回答

0
String [] command = {"cmd" , "/C" ,cmd + " >" + finalPath}; 
    Process p = Runtime.getRuntime().exec(command); 

問題是解決了在你的語句發送。 CMD:C:/coolroid/gicater/mysqldump.exe -h127.0.0.1 -uroot -pagile -P3308 coolroid finalPath:C:/jukebackup/coolroid_1498793488965.bak

感謝您的提示@ControlAltDel 感謝@唐泥炭糾正我的問題。

0

管道不工作,因爲你正在運行將通過Process.getInputStream可用的應用程序的正常OutputStream的()。

解決這個問題的方法是先運行「CMD」,然後通過過程的OutputStream的

+0

感謝您的提示。 – kailuncen