我的应用程序中有一个内部逻辑,显示某些任务的结果和时间处理,但现在我开始开发我的用户界面,我需要在备忘录中显示这些结果(我使用的是ZK框架)。但逻辑位于内部类中...所以我如何更改此类以重定向备忘录中的输出信息而不是控制台?
THX
答案 0 :(得分:3)
最好使用日志框架或自己的报表编写器界面,它首先由System.out.println()
实现,现在可以被其他实现替换。
但现在最简单的方法是将System.out
设置为System.setOut()
。可以在任何PrintStream
或更好File
上创建所需的OutputStream
。
但要填写ZK的图表模型,您需要解析打印到System.out
的数据。这听起来像个坏主意。尝试首先重构(控制台)应用程序。
答案 1 :(得分:1)
使用System.setOut()
和system.setErr()
。传递包含PrintStream的ByteArrayOutpuStream。然后提取字节。