2012-04-24 114 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");