简体   繁体   中英

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:

  1. Find the shortest path from s to t.
  2. Find the associating path from s to t within length l.
  3. Find the associating path from s to t within (1+beta) times of the shortest distance from s to t.
  4. 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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM