【问题标题】:Java: How to print every output of the console either in the console and in a file?Java:如何在控制台和文件中打印控制台的每个输出?
【发布时间】:2017-07-12 09:26:47
【问题描述】:

晚上,我有这个需求:

控制台的每个输出都应该打印到一个文件中,但仍然在控制台中。并且 /n 应该用 lineSeparator() 来改变。

我怎样才能做到这一点?

【问题讨论】:

  • “控制台的每个输出”是指发送到System.out的所有内容?
  • 试试 System.getProperty("line.separator")
  • @UsagiMiyamoto 没错
  • 我写了一个新类,用静态方法处理消息

标签: java file console output


【解决方案1】:

您可以使用System.setOut()PrintStream 分配给System.out

因此,您必须实现一个PrintStream,将其输入同时输出到旧的System.out 和一个文件。 (覆盖FilterOutputStream.write() 方法。)

【讨论】:

    【解决方案2】:

    您可以使用 FileOutputStream 和 PrintStream 在输出文件中打印输出,您可以尝试下面的代码以更好地理解。

    import java.io.*;
    
    public class ReadFile {
        public static void main(String[] args) throws FileNotFoundException {
            java.io.File outFile = new java.io.File ("File name" );
            FileOutputStream fos = new FileOutputStream(outFile);
            PrintStream ps = new PrintStream(fos);
            System.setOut(ps);
            for(int i = 0 ; i < 5 ; i++) {
                System.out.println(i);
            }
        }
    }
    

    此代码在文本文件中打印输出,如果文本文件不存在,则创建一个新文件,然后在文件中打印输出。

    【讨论】:

      猜你喜欢
      • 2021-06-05
      • 1970-01-01
      • 2020-04-24
      • 1970-01-01
      • 2022-12-04
      • 2016-11-28
      • 2021-08-04
      • 2012-05-10
      • 2013-07-06
      相关资源
      最近更新 更多