System.out 如何在 Eclipse 中将输出定向到控制台?
How does System.out direct output to console in eclipse?
在 eclipse 中查看某人的 maven Java 项目时,我注意到其中一个已保存的 运行 配置具有以下对 运行 的 maven 命令:
test -Dtest=fooTest -Dcom.awesomesite=System.out
当我检查 fooTest.java 文件时,我注意到以下语句:
public final static String BAR = "com.awesomesite";
....
this.whereToWrite = System.getProperty(BAR);
显然,实例变量"whereToWrite" 表示输出数据应该去哪里。由于我是 Java 的初学者,我只想了解 System.out 如何直接在控制台上打印输出。
System.out 连接到 environment/user 指定的显示器。默认值恰好是控制台。
当您启动 运行 配置时,Eclipse 使用 Runtime.getRuntime().exec(...)
启动一个新进程 运行 它。此 returns 代表新进程的 Process
对象。
Process
有一个 getInputStream()
方法,它 returns 一个 InputStream
连接到进程的标准输出(这是 System.out
通常写入的地方) . Eclipse 从此输入流中读取并在控制台上输出它接收到的内容。
Eclipse 还使用 getErrorStream()
.
从进程错误流中读取
在 eclipse 中查看某人的 maven Java 项目时,我注意到其中一个已保存的 运行 配置具有以下对 运行 的 maven 命令:
test -Dtest=fooTest -Dcom.awesomesite=System.out
当我检查 fooTest.java 文件时,我注意到以下语句:
public final static String BAR = "com.awesomesite";
....
this.whereToWrite = System.getProperty(BAR);
显然,实例变量"whereToWrite" 表示输出数据应该去哪里。由于我是 Java 的初学者,我只想了解 System.out 如何直接在控制台上打印输出。
System.out 连接到 environment/user 指定的显示器。默认值恰好是控制台。
当您启动 运行 配置时,Eclipse 使用 Runtime.getRuntime().exec(...)
启动一个新进程 运行 它。此 returns 代表新进程的 Process
对象。
Process
有一个 getInputStream()
方法,它 returns 一个 InputStream
连接到进程的标准输出(这是 System.out
通常写入的地方) . Eclipse 从此输入流中读取并在控制台上输出它接收到的内容。
Eclipse 还使用 getErrorStream()
.