Java虚拟机读写其他进程的数据--Process对象
使用Runtime对象的exec()方法可以运行平台上的其他程序,该方法产生一个Process对象,Process对象代表由该Java程序启动的子进程。
Process类提供了3个方法,用于让程序和其子进程通信
InputStream getErrorStream():获取子进程的错误流。
InputStream getInputSteeam():获取子进程的输入流。
OutputStream getOutputStream():获取子进程的输出流。
范例:读取其他进程的输出信息
package com.chengxuyuanzhiliu; import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader; public class ReadFromProcess {
public static void main(String[] args) throws IOException {
Process p = Runtime.getRuntime().exec("javac");
//try(){}jdk7新语法,关闭()中的流,效果类型在finally中br.close()
try(BufferedReader br = new BufferedReader(new InputStreamReader(p.getErrorStream()))){
String buff = null;
while((buff = br.readLine()) != null){
System.out.println(buff);
}
}
}
}
执行结果:
向其他进程的输出信息范例类似
Java虚拟机读写其他进程的数据--Process对象的更多相关文章
- Java 输入/输出——Java虚拟机读写其它进程的数据
使用 Runtime对象的exec()方法可以运行平台上的其它程序,该方法产生一个Process对象,Process对象代表由该Java程序启动的子进程.Process类提供了如下三个方法,用于让程序 ...
- 深入理解Java虚拟机一:运行时数据区域
根据<Java虚拟机规范(第2版)>的规定,Java虚拟机管理的内存包括下图几个运行时数据区域: 1.程序计数器 程序计数器(Program Counter Register ...
- Java虚拟机一:运行时数据区域
java虚拟机在执行java程序的过程中,会把内存划分为若干个不同的数据区域.每个区域都有各自的用途,创建和销毁时间,按照<java虚拟机规范(Java SE 7 版)>的规定,虚拟机运行 ...
- 转载: Java虚拟机:运行时内存数据区域、对象内存分配与访问
转载: https://blog.csdn.net/a745233700/article/details/80291694 (虽然大部分内容都其实是深入理解jvm虚拟机这本书里的,不过整理的很牛逼 ...
- Java 虚拟机中的运行时数据区分析
本文基于 JDK1.8 阐述分析 运行过程 我们都知道 Java 源文件通过编译器编译后,能产生相应的 .Class 文件,也就是字节码文件.而字节码文件通过 Java 虚拟机中的解释器,编译成特定机 ...
- 深入了解java虚拟机(JVM) 第四章 对象的创建
一.对象的创建过程 对象的创建过程大致可以分为六步,其中对象的分配尤为重要: 二.对象分配内存 一般来说对象分配内存有两种方式: 第一种是指针碰撞,这是一种比较理想的方式:如果Java堆是绝对规整的: ...
- 《深入Java虚拟机学习笔记》- 第15章 对象和数组
1.针对对象的操作码 实例化一个新对象需要通过new操作码来实现. 对象的创建 操作码 操作数 说明 new index 在堆中创建一个新的对象,将其引用压入栈 new操作码后面紧跟一个无符号16位数 ...
- Java虚拟机访问读写其他进程的数据--RandomAccessFile
RandomAccessFile 是Java输入/输出流体系中功能最丰富的文件内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出数据.并且它支持“任意访问”的方式,程 ...
- learning java 读写其他进程的数据
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public ...
随机推荐
- 在DLL编程中,导出函数为什么需要extern "C"
转自:http://blog.csdn.net/zhongjling/article/details/8088664 一般来讲,在DLL编程过程中,对于导出的函数前 都需要加入 extern “C”, ...
- windows安装git客户端
1:线上git地址 https://github.com/ 2:tortoiseGit地址 http://tortoisegit.org 3:安装步骤 操作系统:Windows XP SP3 Git客 ...
- Jquery15 插件
学习要点: 1.插件概述 2.验证插件 3.自动完成插件 4.自定义插件 插件(Plugin)也成为 jQuery 扩展(Extension),是一种遵循一定规范的应用程序接口编写出来的程序.目前 j ...
- redis命令的使用
批量删除特定前缀的keys redis-cli KEYS "prefix:*" | xargs redis-cli DEL 返回list的长度 > LPUSH test &q ...
- linux 搭建Java环境
一.下载jdk/jre文件 下载链接 二.安装Java环境 1.解压文件到 /usr/java 目录 # tar zxvf jre-8u60-linux-x64.gz 2.配置环境变量 ...
- CSS样式 vertical-align:middle 垂直居中生效情况
vertical-align:middle 是依赖div内子元素最高的行高来实现对某元素居中的 -------不存在浮动时可以直接生效垂直居中 HTML .box1{ display: table- ...
- tomcat监控,自动重启shell脚本
tomcat监控,自动重启shell脚本如下,取名 monitor_tomcat.sh: #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # 获取tomcat进程ID(其中 ...
- webservice的cxf和spring整合发布
1.新建一个web项目 2.导入cxf相应的jar包,并部署到项目中 3.服务接口 package com.xiaostudy; /** * @desc 服务器接口 * @author xiaostu ...
- Solr学习总结 Solr的安装与配置
接着前一篇,这里总结下Solr的安装与配置 1.准备 1.安装Java8 和 Tomcat9 ,java和tomcat 的安装这里不再重复.需要注意的是这两个的版本兼容问题.貌似java8 不支持,t ...
- 微信小程序:scroll-view的bug
flex:1并不能使scroll-view的高度固定,需要添加高度height:1rpx(数值大于0)就行