繁体   English   中英

Java:如何在控制台和文件中打印控制台的每个输出?

[英]Java: How to print every output of the console either in the console and in a file?

晚上,我有这个需要:

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

我该如何实现?

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

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

您可以使用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);
        }
    }
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM