call c++ exe from java
I am trying to call c++ exe from java applet.For this purpose am using processbuilder.My code is as follows
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();
The c++ exe looks like this when started:
- Find the shortest path from s to t.
- Find the associating path from s to t within length l.
- Find the associating path from s to t within (1+beta) times of the shortest distance from s to t.
- Exit Please input the command (1-4):
once u input the command ,for example 1 we get
Please input s and t, separated by space:
After this you enter two numbers and you will get a network.
Am able to get till Please input s and t, separated by space: .After that it does not display anything.
Help!
Thanks.
pw.println(1 +"" +2);
This sends the string 12
, not 1 2
. The ""
is a zero-length string.
精彩评论