2

我有一个文件generateK.bat,它随机生成密钥。

我有两个问题:

  1. 如何.bat在java环境中运行文件?我只看到了编辑 .bat 文件的指令,但没有运行它。
  2. 我想在我的程序中使用密钥。如何在 java 中使用输出?

谢谢。

4

3 回答 3

4

我会使用 Runtime.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 中运行外部应用程序的教程

于 2012-04-24T06:44:15.570 回答
1
  1. 如何在 java 环境中运行 .bat 文件?我只看到了编辑 .bat 文件的指令,但没有运行它。

使用以下代码运行您的批处理文件。

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

爱斯特拉冈已经发布了2的答案。

于 2012-04-24T06:44:35.070 回答
0

来自java,Runtime.getRuntime().exec("cmd /c start generateK.bat");

于 2012-04-24T06:45:33.883 回答