从控制台读取已写入的文本

时间:2011-11-19 00:01:33

标签: java console

我觉得这很傻,但是:我如何从控制台中读取一个未输入但已写入控制台的字符串

例如,如果我在控制台上打印一行,我怎么能在事后阅读?我知道这是非典型的。

2 个答案:

答案 0 :(得分:2)

除非在某些特殊情况下,你不能像布拉德在评论中指出的那样。作为理由,请考虑当您将某些文本发送到控制台(通过标准输出或标准错误)进行打印时,无法保证文本实际上将被打印。也许用户已将该输出流重定向到/dev/null,在这种情况下,文本已经消失了。或者也许文本已滚出视图。

基本上,不要指望能够访问发送到控制台输出的内容。如果需要,请在程序中保留一份副本。如果您正试图获取另一个程序发送到控制台的内容,则需要使用某种不同的安排,如共享内存,套接字或fifo管道。

答案 1 :(得分:1)

将System.in和System.out替换为您自己的流和 尝试在System.in和System.out;

之间创建一个管道

我不确定,是否有效;

相关问题