我试图从java applet调用c ++ exe。为此我正在使用processbuilder.My代码如下
ProcessBuilder pb = new ProcessBuilder(s);
Process process = pb.start();
final InputStream is = process.getInputStream();
OutputStream out = process.getOutputStream();
PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(out)));
pw.println(1);
pw.println(1 +"" +2);
new Thread(new Runnable() {
public void run() {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (java.io.IOException e) {
}
}
}).start();
pw.close();
启动时c ++ exe看起来像这样:
一旦你输入命令,例如1我们得到
请输入s和t,用空格分隔:
在此之后输入两个数字,您将获得一个网络。
能够到达请输入s和t,用空格分隔:。之后它不会显示任何内容。
帮助!
感谢。
答案 0 :(得分:0)
pw.println(1 +"" +2);
这会发送字符串12
,而不是1 2
。 ""
是一个零长度的字符串。