文档章节

Java调用外部C语言程序,进行标准输入输出操作

zhangdedezhu
 zhangdedezhu
发布于 2013/12/20 17:21
字数 187
阅读 414
收藏 8
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);
}
}



© 著作权归作者所有

共有 人打赏支持
zhangdedezhu
粉丝 7
博文 4
码字总数 934
作品 0
海淀
程序员
加载中

评论(2)

zhangdedezhu
zhangdedezhu

引用来自“zhangyutong926”的评论

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

不好意思,上面的写错了,应该是InputStreamReader,已经修改
zhangyutong926
zhangyutong926
地18行的new utStrea……中,ut是什么意思?API文档里查不到。
JDK 源码阅读 : FileDescriptor

原文出处:木杉的博客 操作系统使用文件描述符来指代一个打开的文件,对文件的读写操作,都需要文件描述符作为参数。Java虽然在设计上使用了抽象程度更高的流来作为文件操作的模型,但是底层...

木杉的博客
06/06
0
0
云栖社区专家系列课——Java必修课第二讲

Java必须课是零基础Java学习者的入门课程,涵盖了Java初学者应该掌握的所有核心知识,由最课程创始人、微软MVP陆敏枝主讲。本节课陆老师从概念和代码示例(计算器)两方面着重讲解了Java中变...

迷你芊宝宝
06/26
0
0
Java Process 的 waitFor()

在编写Java程序时,有时候我们需要调用其他的诸如exe,shell这样的程序或脚本。在Java中提供了两种方法来启动其他程序: (1) 使用Runtime的exec()方法 (2) 使用ProcessBuilder的start()方法 ...

Sub
2013/05/29
0
1
JAVASE之JAVAI/O流篇

一 Java IO IO流用来处理设备之间的数据传输。 Java程序中,对于数据的输入/输出操作以”流(stream)” 的方式进行。 java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标...

刘信坚
07/30
0
0
java 外部调用c程序(后缀为.exe--是可以运行的程序--不是本地方法的实现)

首先1:编写C运用程序---并编译成可以执行的.exe文件 我在C中实现了两个数字的添加--并返回一个输出结果--这个结果在java中实现输出 就在这里-(在java中--一旦涉及到输入或输出--一定是流的...

pxy
2012/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

流量劫持是如何产生的?

流量劫持,这种古老的攻击沉寂了一段时间后,最近又开始闹的沸沸扬扬。众多知名品牌的路由器相继爆出存在安全漏洞,引来国内媒体纷纷报道。只要用户没改默认密码,打开一个网页甚至帖子,路由...

谢思华
9分钟前
0
0
Hadoop Client无法使用maven下载源码

最近在学习hadoop,使用maven的时候想看一下源码的注释,结果IDEA一直提示无法下载 搞得我一度以为maven坏掉了。 但是通过搜索,发现在maven仓库里确实没有源码.... 而2.8.1以及之前的版本是...

Iceberg_XTY
11分钟前
0
0
为什么程序员千万不要重写代码?

你所做的事情,也许暂时看不到成果,但不要灰心或焦虑,你不是没有成长,而是在扎根。 图片来自网络 0 前言 程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的...

Java小铺
12分钟前
0
0
VUE集成AdminLte

1. 安装需要到插件 npm i admin-lte -Snpm i jquery -Snpm i axios -Snpm i vue-router -S 2. 配置webpack.config.js 2.1 module.exports.module.rules修改字体loader: {test: /\.(p......

Pasenger
51分钟前
0
0
Spring Aop原理之切点表达式解析

在前面的文章(Spring AOP切点表达式详解)中,我们总结了Spring Aop切点表达式的用法,而在上文(Spring Aop原理之Advisor过滤)中我们讲到,切点表达式的解析主要是在PatternParser.parse...

爱宝贝丶
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部