从java调用c ++ exe

时间:2010-07-28 19:29:43

标签: java applet process

我试图从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的最短路径。
  2. 在长度l。
  3. 中找到从s到t的关联路径
  4. 在从s到t的最短距离(1 + beta)之间找到从s到t的关联路径。
  5. 退出 请输入命令(1-4):
  6. 一旦你输入命令,例如1我们得到

    请输入s和t,用空格分隔:

    在此之后输入两个数字,您将获得一个网络。

    能够到达请输入s和t,用空格分隔:。之后它不会显示任何内容。

    帮助!

    感谢。

1 个答案:

答案 0 :(得分:0)

pw.println(1 +"" +2);

这会发送字符串12,而不是1 2""是一个零长度的字符串。