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

来源:互联网 发布:卡特新秀赛季数据 编辑:程序博客网 时间:2024/06/05 11:04

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

package net.nyist.io;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class ReadFromProcess {public static void main(String[] args) throws IOException{//运行javac命令,返回运行该命令的子进程Process p = Runtime.getRuntime().exec("javac");try(//以P进程的错误流创建BufferedReader对象,这个错误流对于本程序是输入流,对p进程则是输出流BufferedReader br = new BufferedReader(new InputStreamReader(p.getErrorStream()));){//String buf =  null;//采用循环方式来读取p进程的错误输出流while((buf = br.readLine()) != null){System.out.println(buf);}}catch(IOException ioe){ioe.printStackTrace();}}}


输出结果:

用法: javac <options> <source files>其中, 可能的选项包括:  -g                         生成所有调试信息  -g:none                    不生成任何调试信息  -g:{lines,vars,source}     只生成某些调试信息  -nowarn                    不生成任何警告  -verbose                   输出有关编译器正在执行的操作的消息  -deprecation               输出使用已过时的 API 的源位置  -classpath <路径>            指定查找用户类文件和注释处理程序的位置  -cp <路径>                   指定查找用户类文件和注释处理程序的位置  -sourcepath <路径>           指定查找输入源文件的位置  -bootclasspath <路径>        覆盖引导类文件的位置  -extdirs <目录>              覆盖所安装扩展的位置  -endorseddirs <目录>         覆盖签名的标准路径的位置  -proc:{none,only}          控制是否执行注释处理和/或编译。  -processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程  -processorpath <路径>        指定查找注释处理程序的位置  -d <目录>                    指定放置生成的类文件的位置  -s <目录>                    指定放置生成的源文件的位置  -implicit:{none,class}     指定是否为隐式引用文件生成类文件  -encoding <编码>             指定源文件使用的字符编码  -source <发行版>              提供与指定发行版的源兼容性  -target <发行版>              生成特定 VM 版本的类文件  -version                   版本信息  -help                      输出标准选项的提要  -A关键字[=值]                  传递给注释处理程序的选项  -X                         输出非标准选项的提要  -J<标记>                     直接将 <标记> 传递给运行时系统  -Werror                    出现警告时终止编译  @<文件名>                     从文件读取选项和文件名


备注:

1、我们衡量输入、输出时,总是站在运行本程序所在的内存的角度,因此该数据流应该是输入流