我有一个基于 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();
}
}
}