2016-04-11 16 views
0

でのRuntime.execメソッドの実行中にエラーを取得:ディレクトリ/priyam.batが、このJavaプログラムを実行している間、私は以下のエラーを取得しています。私はDに配置されているpriyam.batファイルを実行するJavaプログラムを使用していたJava

java.io.IOException: Cannot run program "priyam.bat" (in directory "D:\"): CreateProcess error=2, The system cannot find the file specified 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:470) 
    at java.lang.Runtime.exec(Runtime.java:593) 
    at java.lang.Runtime.exec(Runtime.java:431) 
    at Test.main(Test.java:12) 
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) 
    ... 3 more 

コードのスニペット

import java.io.File; 
import java.io.IOException; 


public class Test { 

public static void main(String args[]) 
{ 
    Runtime r = Runtime.getRuntime(); 
    int arg = 5; 
    try { 
     Process p = r.exec("priyam.bat",null,new File("D://")); 
     System.out.println("executed"); 


    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     } 
    } 
} 

私はJavaの世界に新しいですと、あなたの助けと提案は非常に賞賛と理解されるであろう。事前

+0

'システムは、それは自明ではないですか? –

+0

例外メッセージは十分にクリアです。あなたはそれについて何を理解していませんか? – Raedwald

+0

も参照してください[ときのRuntime.exec()しません]多くのこだわり(http://www.javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html)プロセスの作成と処理に関するヒントそれを無視すると 'exec'が参照され、' ProcessBuilder'を使用してプロセスが作成されます。 –

答えて

0

のおかげでは、このコードを試してみてください:Windowsで

Process p = r.exec("D:\\priyam.bat")); 

をファイル区切りが「\」であるか、File.separator値を使用することができます。ファイルspecified.`を見つけることができません

+0

おかげIpman1971、今のコードが動作しているし、正常に実行されているが、.BATファイルは、我々は、コンソールがポップアップするbatファイルをダブルクリックしたときのように.just開かれていませんが、なぜそれがここで起きていませんか? –

+0

あなたは何を期待していますか?あなたは 'Process'オブジェクトを持っている、あなたの' priyam.bat'の出力を処理したい場合は、そのオブジェクトからプロセスの 'stdout'を読むことができます。あなたがしたいことをもっと詳しく説明してください。 – Peter

関連する問題