我需要使用 Java 启动一个二进制文件,然后使用输入和输出流与之交互。我已经编写了一个原型来弄清楚它是如何工作的,但到目前为止我得到的唯一输出是null
. 然而,当独立运行时,子程序会产生输出。我究竟做错了什么?
import java.io.*;
public class Stream {
public static void main(String args[]) {
Process SaddleSumExec = null;
BufferedReader outStream = null;
BufferedReader inStream = null;
try {
SaddleSumExec = Runtime.getRuntime().exec("/home/alex/vendor/program weights.txt list.txt");
}
catch(IOException e) {
System.err.println("Error on inStream.readLine()");
e.printStackTrace();
}
try {
inStream = new BufferedReader(new InputStreamReader
(SaddleSumExec.getInputStream()));
System.out.println(inStream.readLine());
}
catch(IOException e){
System.out.println("Error.");
}
}
}