文档章节

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
JAVA NIO之浅谈内存映射文件原理与DirectMemory

JAVA类库中的NIO包相对于IO 包来说有一个新功能是内存映射文件,日常编程中并不是经常用到,但是在处理大文件时是比较理想的提高效率的手段。本文我主要想结合操作系统中(OS)相关方面的知识...

pczhangtl
2013/11/19
0
0
JAVASE之JAVAI/O流篇

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

刘信坚
07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

创建第一个react项目

sudo npm i -g create-react-app@1.5.2 create-react-app react-app cd react-apprm -rf package-lock.jsonrm -rf node_modules #主要是为了避免报错npm installnpm start......

lilugirl
今天
1
0
在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN)

Generative Adversarial Network 是深度学习中非常有趣的一种方法。GAN最早源自Ian Goodfellow的这篇论文。LeCun对GAN给出了极高的评价: “There are many interesting recent development...

naughty
今天
0
0
搬瓦工镜像站bwh1.net被DNS污染,国内打不开搬瓦工官网

今天下午(2018年10月17日),继搬瓦工主域名bandwagonhost.com被污染后,这个国内的镜像地址bwh1.net也被墙了。那么目前应该怎么访问搬瓦工官网呢? 消息来源:搬瓦工优惠网->搬瓦工镜像站b...

flyzy2005
今天
3
0
SpringBoot自动配置

本篇介绍下,如何通过springboot的自动配置,将公司项目内的依赖jar,不需要扫描路径,依赖jar的情况下,就能将jar内配置了@configuration注解的类,创建到IOC里面 介绍下开发环境 JDK版本1.8 spr...

贺小五
今天
3
0
命令行新建Maven多项目

参考地址 # DgroupId 可以理解为包名# DartifactId 可以理解为项目名mvn archetype:generate -DgroupId=cn.modfun -DartifactId=scaffold -DarchetypeArtifactId=maven-archetype-quickst......

阿白
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部