在java中,process类提供了如下3个方法,用于让程序和其他子进程进行通信。

InputStream getErrorStream():获取子进程的错误流。

InputStream getInputStream():获取子进程的输入流。

OutputStream getOutputStream():获取子进程的输出流。

下面程序示范了读取其他进程的输出信息:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;public class ReadFromProcess {public static void main(String[] args) throws IOException {// TODO Auto-generated method stubProcess p=Runtime.getRuntime().exec("javac");//运行javac命令,返回运行该命令的子进程ptry {//以p进程的错误流创建BufferedReaderd对象,这个错误流是本程序的输入流,对p进程则是输出流BufferedReader br=new BufferedReader(new InputStreamReader(p.getErrorStream()));String buff=null;while((buff=br.readLine())!=null) {//读取每一行数据,并赋给buff字符串。
                 System.out.println(buff);}}catch (IOException ioe) {ioe.printStackTrace();}}
}

javac进程------------>本程序

数据从p进程流向本程序所在的内存

程序输出结果如下:

数据流对p进程而言,它是输出流,对于本程序而言,它则是输入流。

判断输入流还是输出流的角度:总是站在运行本程序所在内存的角度。

转载于:https://www.cnblogs.com/Peng-Yankee/p/8893389.html

java虚拟机读写其他进程的数据相关推荐

  1. Java虚拟机 和 java虚拟机下的进程

    一.什么是Java虚拟机      当你谈到Java虚拟机时,你可能是指:      1.抽象的Java虚拟机规范      2.一个具体的Java虚拟机实现      3.一个运行的Java虚拟机实 ...

  2. java虚拟机之一内存运行时数据区域解释

    Java虚拟机管理的内存运行时数据区域解释 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启 ...

  3. Java 虚拟机学习笔记 | 运行时数据区总结

    前言 要想学习好 Java,Java虚拟(JVM)的学习是绕不开的.学习 Java虚拟(JVM)首先就要先了解的就是Java虚拟(JVM)运行时数据区. 在Java语言和虚拟机规范中对运行时数据区进行 ...

  4. 易语言编程-手把手教你解除游戏保护-让CE可搜索读写游戏进程内存数据

    1.  游戏进程为什么无法读写内存数据,CE工具为何不能搜索数据? 答案:因为被保护起来了 2.  游戏图标为什么不显示? 答案:因为被保护起来了 3.    如何解除游戏进程保护,从而CE工具 以及 ...

  5. java spark读写hdfs_Spark读取HDFS数据输出到不同的文件

    最近有一个需求是这样的:原来的数据是存储在MySQL,然后通过Sqoop将MySQL的数据抽取到了HDFS集群上,抽取到HDFS上的数据都是纯数据,字段值之间以\t分隔,现在需要将这部分数据还原为js ...

  6. 【Java书笔记】:《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》第2部分-自动内存管理,第3部分-虚拟机执行子系统,第5部分-高效并发

    作者:周志明 整理者GitHub:https://github.com/starjuly/UnderstandingTheJVM 第2部分-自动内存管理 第2章 Java内存区域与内存溢出异常 2.2 ...

  7. 深入理解java虚拟机-读书笔记

    内存动态分配与内存回收技术已经相当成熟,看起来进入了自动化的时代,为什么还要去了解垃圾收集和内存分配? 当需要排查各种内存溢出.内存泄漏问题时 当垃圾收集成为系统达到更高并发量的瓶颈时 我们就必须对内 ...

  8. java虚拟机第三版学习

    java 编译执行流程 Java 源文件->编译器->字节码文件->JVM->机器码 Java 内存区域与内存溢出异常 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存 ...

  9. 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)读书笔记

    前言 我在读 深入理解java虚拟机 这本书,把整体其中的关键点标记了,希望自己对它有个不一样的理解,也希望大家能看看这本写的很好的书 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版) pd ...

最新文章

  1. js实现-限时抢购倒计时间表
  2. 国家的重视让少儿编程越来越火爆!
  3. MySQL数据库基本的“增删改查”操作 -《狗嗨默示录》-
  4. php文件安全实现方法,php安全下载大文件的实现代码
  5. excluded by a filter_A. Manthiram:碲入硫,锂更稳!
  6. 又一次寻找bug的经历...这次是 openlayers + chrome + win7
  7. 3.空域图像处理的洪荒之力
  8. tomcat,httpd 日志格式说明
  9. RocketMq在windows下安装
  10. property_自己编写一个读取Property文件的Util类
  11. NumPy常用中文手册
  12. Android 使用反射调用StorageManager中 Hide方法getVolumeList、getVolumeState
  13. 社交app的变现方式有哪些?
  14. opencv边缘检测 roberts算子
  15. PAT1003 我要通过! (20 分)(C语言)
  16. 关于Python可视化Dash工具—plotly基本图形
  17. Java 正则验证邮箱
  18. TWaver 3D作品Viewer查看器
  19. 超融合一体机如何影响私有云部署
  20. 深入浅出医学注册配准

热门文章

  1. 下列属于计算机人工智能应用领域的是多选题,每天五道选择题(10)
  2. wpf page 界面渲染完成后执行自动操作_Vue项目骨架屏自动生成方案(dps)
  3. 升降压斩波电路matlab,升降压直流斩波电路及matlab仿真.doc
  4. 一篇来自前端同学对后端接口的吐槽
  5. MySQL数据库常见的几个问题
  6. 收集100条实用的网络知识
  7. 程序员反思:为什么团队的产出效率那么低下?
  8. 完整的JS表单验证封装类
  9. 坎蒂雷赋权法 matlab,干货 | 利用MATLAB实现FMCW雷达中的常用角度估计方法
  10. VMwareTool 安装