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(); } } }
备注:
此程序不能得到结果,希望高手指教!!!