IO:Java虚拟机读入其他进程的数据(2)

时间:2022-02-28 20:33:17

IO:Java虚拟机读入其他进程的数据(2)

 

package net.nyist.io;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Scanner;

public class WriteToProcess {
	public static void main(String[] agrs) throws IOException {

		// 运行java ReadStandard命令,返回运行该命令的子进程
		Process p = Runtime.getRuntime().exec("java ReadStandard");

		try (
		// 以p进程的输出流创建PrintStream对象
		// 这个输出流对本程序是输出流,对p进程为输入流
		PrintStream ps = new PrintStream(p.getOutputStream());

		) {

			// 向ReadStandard程序写入内容,这些内容将被ReadStandard读取
			ps.println("普通字符串");
			ps.println(new WriteToProcess());
		}
	}

}

// 定义一个ReadStandard类,该类可以接受标注输入
class ReadStandard {

	public static void main(String[] args) {
		try (
		// 获取键盘的输入
		Scanner sc = new Scanner(System.in);
				PrintStream ps = new PrintStream(new FileOutputStream(
						"out2.txt"));) 
		{
			//把回车作为分隔符
			sc.useDelimiter("\n");
			//判断是否还有下一个输入项
			while(sc.hasNext()){
				//输出输入项
				ps.println("键盘输入的内容为:"+sc.next());
			}

		} catch (IOException ioe) {
			ioe.printStackTrace();
		}
	}

}

备注:

此程序不能得到结果,希望高手指教!!!