我有一个运行此代码的 jar 文件:
public class InputOutput {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
boolean cont = true;
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
while (cont) {
System.out.print("Input something: ");
String temp = in.readLine();
if (temp.equals("end")) {
cont = false;
System.out.println("Terminated.");
}
else
System.out.println(temp);
}
}
}
我想编写另一个 java 类来执行这个 jar 文件并可以获取输入并将输出发送给它。是否可以?我拥有的当前代码是这样的,但它不起作用:
public class JarTest {
/**
* Test input and output of jar files
* @author Jack
*/
public static void main(String[] args) {
try {
Process io = Runtime.getRuntime().exec("java -jar InputOutput.jar");
BufferedReader in = new BufferedReader(new InputStreamReader(io.getInputStream()));
OutputStreamWriter out = new OutputStreamWriter(io.getOutputStream());
boolean cont = true;
BufferedReader consolein = new BufferedReader(new InputStreamReader(System.in));
while (cont) {
String temp = consolein.readLine();
out.write(temp);
System.out.println(in.readLine());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
谢谢你的帮助