0

我有一个基于 C++ 的命令行工具,它有一些命令可以运行并期望得到相同的输出。该过程将是: 首先我需要转到工具文件夹,例如-

c:>cd C:\CHECKSOFT

然后我需要运行一个命令

C:\CHECKSOFT>bin\checktrans -f x2.in > x2.out

上面的代码会生成一个文件x2.out,然后我需要读取输出。

那么如何在java中执行上述所有过程。

我试图创建目录和所有那些基本的 DOS 命令和那些工作,但我无法设法使上述过程工作。

我试过的-

public class ExecuteDOSCommand {
   public static void main(String[] args) {
      final String dosCommand = "cmd /c bin/checktrans -f x2.in > x2.out";
      final String location = "C:\\CHECKSOFT";
      try {
         final Process process = Runtime.getRuntime().exec(
            dosCommand + " " + location);
         final InputStream in = process.getInputStream();
         System.out.println("IIII "+in.read());
         int ch;
         while((ch = in.read()) != -1) {
            System.out.print((char)ch);
         }
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}
4

0 回答 0