java虚拟机读写其他进程的数据
生活随笔
收集整理的這篇文章主要介紹了
java虚拟机读写其他进程的数据
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在java中,process類提供了如下3個(gè)方法,用于讓程序和其他子進(jìn)程進(jìn)行通信。
InputStream getErrorStream():獲取子進(jìn)程的錯(cuò)誤流。
InputStream getInputStream():獲取子進(jìn)程的輸入流。
OutputStream getOutputStream():獲取子進(jìn)程的輸出流。
?
下面程序示范了讀取其他進(jìn)程的輸出信息:
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");//運(yùn)行javac命令,返回運(yùn)行該命令的子進(jìn)程ptry {//以p進(jìn)程的錯(cuò)誤流創(chuàng)建BufferedReaderd對(duì)象,這個(gè)錯(cuò)誤流是本程序的輸入流,對(duì)p進(jìn)程則是輸出流BufferedReader br=new BufferedReader(new InputStreamReader(p.getErrorStream()));String buff=null;while((buff=br.readLine())!=null) {//讀取每一行數(shù)據(jù),并賦給buff字符串。 System.out.println(buff);}}catch (IOException ioe) {ioe.printStackTrace();}} }javac進(jìn)程------------>本程序
數(shù)據(jù)從p進(jìn)程流向本程序所在的內(nèi)存
程序輸出結(jié)果如下:
數(shù)據(jù)流對(duì)p進(jìn)程而言,它是輸出流,對(duì)于本程序而言,它則是輸入流。
判斷輸入流還是輸出流的角度:總是站在運(yùn)行本程序所在內(nèi)存的角度。
轉(zhuǎn)載于:https://www.cnblogs.com/Peng-Yankee/p/8893389.html
總結(jié)
以上是生活随笔為你收集整理的java虚拟机读写其他进程的数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Day 3 in India
- 下一篇: cad画多段线时不显示轨迹_为什么CAD