如何从System.out中获取数据作为字符串?

时间:2017-09-25 22:04:52

标签: java inputstream stdout

对于一种类似IDE的系统,我用java编写,我希望复制并显示一个与标准控制台完全相同的控制台。因此,我需要一种方法来阅读写入stdoutstderr的所有内容。 是否存在类似于Process.getInputStream()函数的东西,它适用于当前的Java进程,而不仅仅适用于外部进程? 希望避免更改所有stdout命令。

提前非常感谢!

2 个答案:

答案 0 :(得分:2)

使用System.setOut()和System.setErr()覆盖自定义流的默认输出和错误流。

答案 1 :(得分:1)

像这样的东西

  FileOutputStream f = new FileOutputStream("file.txt");

  System.setOut(new PrintStream(f));

  // this text will get redirected to youe file
  System.out.println("This is System class!!!");