ini*_*ero 7 java processbuilder
我有一个UNIX本机可执行文件,需要像这样输入参数
prog.exe <foo.txt.
foo.txt有两行:bar baz
我正在使用java.lang.ProcessBuilder来执行此命令.不幸的是,prog.exe只能使用文件中的重定向.有什么方法可以模仿Java中的这种行为吗?
当然,
ProcessBuilder pb = new ProcessBuilder("prog.exe", "bar", "baz");
Run Code Online (Sandbox Code Playgroud)
不起作用.
谢谢!
ProcessBuilder pb = new ProcessBuilder("prog.exe");
Process p = pb.start();
OutputStream pos = p.getOutputStream();
InputStream fis = new FileInputStream("file.txt");
byte[] buffer = new byte[1024];
int read = 0;
while((read = fis.read(buffer)) != -1) {
pos.write(buffer, 0, read);
}
fis.close();
Run Code Online (Sandbox Code Playgroud)
未经测试,但这样的事情应该有效.