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