からのコマンドを実行するのに、指定されたパスを見つけることができない原因となり、これは私のコードで問題は、私はしても、次の例外を取得していますしかし、私はcmdから同じコマンドを実行するとき、私は何の問題もなく、私はちょうどそれが指定されたファイルを見つけることができない理由を把握することはできません! PS:私が最初にプロセスビルダーは、私はJavaコード からのmysqldumpを実行するために<code>ProcessBuilder</code>を使用していますERROR2もCMD
Exception in thread "main" java.io.IOException: Cannot run program "mysqldump -u root -P 3316 -h localhost > G:\test.sql": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:470)
at com.etq.e2mc.platform.windows.WindowsProcess.executeCommant(WindowsProcess.java:46)
at com.etq.e2mc.platform.windows.WindowsProcess.main(WindowsProcess.java:67)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:177)
at java.lang.ProcessImpl.start(ProcessImpl.java:28)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 2 more
私は正直、私はあなたが書いたコードをしようとしていますし、 'メソッドredirectOutput(ファイル)取得していますがタイプProcessBuilder'には未定義であることを知らなかった貴重な情報をありがとう、あなたは他の提案を持っていますどのように出力をリダイレクトする方法については?、shoud私はちょうどcmdを呼び出すとmysqldump ?? - PS:java 6を使用していて、Java 7でalotがテストされていないのでアップグレードできません。 – user1
次に、getInputStream()によってファイルに返された入力ストリームからデータをポンピングする独自のスレッドを作成する必要があります。 – Andreas