Java调用外部C语言程序,进行标准输入输出操作
Java调用外部C语言程序,进行标准输入输出操作
zhangdedezhu 发表于4年前
Java调用外部C语言程序,进行标准输入输出操作
  • 发表于 4年前
  • 阅读 368
  • 收藏 8
  • 点赞 0
  • 评论 2

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 近期碰到一个用java程序调用外部C程序进行特定传参,并收回返回的结果的一个小程序,刚开始没有注意刷新缓冲区的操作,所以特此记录下来,免得以后再次犯错
import java.lang.*;
class test3{
       public static void main(String []args) throws IOException{
                long a = System.currentTimeMillis();
                Process process = Runtime.getRuntime().exec("/home/xxx");//这是外部程序所在目录,切记返回类型为process
                PrintStream outputWriter = new PrintStream(new BufferedOutputStream(process.getOutputStream()));
                outputWriter.println("XXXX");
                outputWriter.flush();//这里一定要刷新缓冲区,不然参数传不过去
                outputWriter.println("XXX");
                outputWriter.flush();
                outputWriter.println("XXX");
                outputWriter.flush();
                outputWriter.println("XXX");
                outputWriter.flush();
                outputWriter.println("XXX");
                outputWriter.flush();
                BufferedReader addResult = new BufferedReader(
                                                              new InputStreamReader(process.getInputStream())
                                                              );
                String line;
                while((line=addResult.readLine())!=null)
                {
                     System.out.println(line);
                 }
                long b = System.currentTimeMillis();
                System.out.println(b-a);
}
}



共有 人打赏支持
粉丝 7
博文 4
码字总数 934
评论 (2)
zhangyutong926
地18行的new utStrea……中,ut是什么意思?API文档里查不到。
zhangdedezhu

引用来自“zhangyutong926”的评论

地18行的new utStrea……中,ut是什么意思?API文档里查不到。

不好意思,上面的写错了,应该是InputStreamReader,已经修改
×
zhangdedezhu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: