Java虚拟机读写其他进程的数据

Java虚拟机读写其他进程的数据

http://axiangtaihe.iteye.com/blog/1647288

使用Runtime对象的exec()方法可以获得其他进程的Process对象,Process对象代表由该Java程序启动的子进程,Process类提供了如下3个方法,用于让程序和其子进程进行通讯。
InputStream getErrorStream():获取子进程的错误流
InputStream getInputStream():获取子进程的输入流
OutputStream getOutputStream():获取子进程的输出流
下面的代码实现了获取子进程的错误输出

Java代码 复制代码  收藏代码
  1. import java.io.BufferedReader;   
  2. import java.io.InputStreamReader;   
  3.   
  4.   
  5. public class Test {   
  6.     public static void main(String[] args) throws Exception   
  7.     {   
  8.            
  9.         Process p=Runtime.getRuntime().exec("adb");   
  10.         BufferedReader br=new BufferedReader(new InputStreamReader(p.getErrorStream()));   
  11.         String str=null;   
  12.         while((str=br.readLine())!=null)   
  13.         {   
  14.             System.out.println(str);   
  15.         }   
  16.   
  17.     }   
  18.        
  19.   
  20.   
  21.        
  22. }  
import java.io.BufferedReader;
import java.io.InputStreamReader;


public class Test {
	public static void main(String[] args) throws Exception
	{
		
		Process p=Runtime.getRuntime().exec("adb");
		BufferedReader br=new BufferedReader(new InputStreamReader(p.getErrorStream()));
		String str=null;
		while((str=br.readLine())!=null)
		{
			System.out.println(str);
		}

	}
	


	
}


下面程序演示两个Java程序通讯
这个数父进程

Java代码 复制代码  收藏代码
  1. import java.io.OutputStream;   
  2. import java.io.PrintStream;   
  3.   
  4.   
  5. public class Test {   
  6.     public static void main(String[] args) throws Exception   
  7.     {   
  8.         Process p=Runtime.getRuntime().exec("java work");   
  9.         OutputStream os=p.getOutputStream();   
  10.         PrintStream ps=new PrintStream(os);   
  11.         ps.println("张译成");   
  12.         os.close();   
  13.            
  14.            
  15.     }   
  16.        
  17.   
  18.   
  19.        
  20. }  
import java.io.OutputStream;
import java.io.PrintStream;


public class Test {
	public static void main(String[] args) throws Exception
	{
		Process p=Runtime.getRuntime().exec("java work");
		OutputStream os=p.getOutputStream();
		PrintStream ps=new PrintStream(os);
		ps.println("张译成");
		os.close();
		
		
	}
	


	
}
java电子书免费下载

下面是子进程
Java代码 复制代码  收藏代码
  1. import java.io.FileOutputStream;   
  2. import java.io.PrintStream;   
  3. import java.util.Scanner;   
  4.   
  5. public class work {   
  6.     public static void main(String[] args) throws Exception{   
  7.         Scanner sc=new Scanner(System.in);   
  8.         FileOutputStream fis=new FileOutputStream("work");   
  9.         PrintStream ps=new PrintStream(fis);   
  10.         System.setOut(ps);   
  11.         while(sc.hasNextLine())   
  12.         {   
  13.             System.out.println(sc.nextLine());   
  14.         }   
  15.         ps.close();   
  16.   
  17.     }   
  18.   
  19. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值