作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个自制的控制台(API,带有GUI),想要使用我的控制台将程序A的输出传输到我的控制台类B,然后从中读取一个字符串(程序A的输出) .
我找到的所有答案都是关于围绕 ByteArrayOutputStream 等创建新的 PrintStream。
我之所以要这样做,是因为我想让代码对其他人来说尽可能简单(最佳解决方案:在程序中调用一种方法)。
如果程序员可以使用我的 API 实现这样的功能,那就太好了:
ConsoleAPI c = new ConsoleAPI();
c.setOutput(System.out);
System.out.println("Hello World!");
我不认为这是可能的,但也许确实如此。 :)
提前致谢!
最佳答案
System.out
是 PrintStream
类型的对象。
您可以像任何其他 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/
这个问题在这里已经有了答案: Is a moved-from vector always empty? (4 个答案) 关闭 4 年前。 从 std::vector move 数据后,它的容量是否必
我是一名优秀的程序员,十分优秀!