java - 将 System.out 转移到另一个类并从中读取

标签 java

我正在开发一个自制的控制台(API,带有GUI),想要使用我的控制台将程序A的输出传输到我的控制台类B,然后从中读取一个字符串(程序A的输出) .

我找到的所有答案都是关于围绕 ByteArrayOutputStream 等创建新的 PrintStream。

我之所以要这样做,是因为我想让代码对其他人来说尽可能简单(最佳解决方案:在程序中调用一种方法)。

如果程序员可以使用我的 API 实现这样的功能,那就太好了:

ConsoleAPI c = new ConsoleAPI();
c.setOutput(System.out);
System.out.println("Hello World!");

我不认为这是可能的,但也许确实如此。 :)

提前致谢!

最佳答案

System.outPrintStream 类型的对象。
您可以像任何其他 PrintStream 对象一样在类之间传递它。

因此您的 ConsoleAPI.setOutput 方法需要采用 PrintStream 作为参数。
然后你就可以做你想做的事了。

http://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html

关于java - 将 System.out 转移到另一个类并从中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22194645/

相关文章:

Java为游戏绘制 map 网格

java - 如何创建圣诞节倒计时

java - MySQL Workbench 和 JDBC 中的 utf8mb4

javascript - 如何通过图像查找元素

java - 对项目数量的索引和值进行排序的最佳方法是什么

java - 如何根据键限制Android库项目中的类访问?

java - 将 Arraylist<Object> 方法转换为 RxJava Observable

java - Google Maps API groundoverlay 在应用程序中不起作用

java - 有没有一种简单的方法可以在 Windows 中使用 Java 来确定文件是否是硬链接(hard link)?

java - 位操作 : changing a single char in the binary "array"