**當上直接運行下面的命令工作正常終端在linux從Java運行的mysqldump
mysqldump -uabc -pabc1234 --compact --no-create-info -w \"fieldname != 'A'\" dbname tablename -hhostaddress --result-file=/tmp/myfile.txt
**但是當使用運行時()方法執行它然後也不會產生在目標輸出文件。
String s="mysqldump -uabc -pabc1234 --compact --no-create-info -w \"fieldname != 'A'\" dbname tablename -hhostaddress --result-file=/tmp/myfile.txt";
Runtime.getRuntime().exec(s);
(**說ABC是用戶名和ABC1234密碼)
同樣的問題時,如果重定向到目標文件(>)是 - 結果文件選項的usedinstead。 我該怎麼做才能在java程序中執行它?
只是一個猜測旁邊添加:也許你應該嘗試把文件的完整路徑引號:'\「/ tmp目錄/ myfile.txt的\」'。您還可以將輸出重定向到如[* here *]所示的文件(http://go2linux.garron.me/mysql-backup-mysqldump) – alfasin
您需要將命令拆分爲多個部分,而不是將它作爲一個整體發送長串。 – Perception