2012-04-24 103 views
2

我有一個文件generateK.bat,它可以隨機生成密鑰。Java - 運行並使用.bat文件

我有兩個問題:

  1. 如何運行.bat文件中的java環境?我只看到編輯.bat文件的說明,但沒有運行它。
  2. 我想在我的程序中使用該鍵。我怎樣才能在java中使用輸出?

謝謝。

回答

4

我會使用的Runtime.exec給exec外部程序: http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Runtime.html

這樣您就可以用,你可以讀/寫輸入和輸出流的過程。

代碼如下所示:

public static void main(String Argv[]) { 
try { 
    String ls_str; 

    Process ls_proc = Runtime.getRuntime().exec("pathtoyourbat/generateK.bat"); 

    // get its output (your input) stream 

    DataInputStream ls_in = new DataInputStream(
             ls_proc.getInputStream()); 

    try { 
    while ((ls_str = ls_in.readLine()) != null) { 
     System.out.println(ls_str); 
    } 
    } catch (IOException e) { 
    System.exit(0); 
    } 
} catch (IOException e1) { 
    System.err.println(e1); 
    System.exit(1); 
} 

System.exit(0); 
} 

=>http://www.ensta-paristech.fr/~diam/java/online/io/javazine.html

但是也有很多教程關於Java裏面運行外部應用程序

1
  1. 我怎樣才能運行的.bat在Java環境中的文件?我只看到編輯.bat文件的說明,但沒有運行它。

使用下面的一段代碼來運行您的批處理文件。

Runtime.getRuntime().exec("cmd /c start abc.bat"); 

愛斯特拉岡已經貼出答案。

0

從Java,Runtime.getRuntime().exec("cmd /c start generateK.bat");