Java:如何将控制台输出保存到文本文件?

Java:如何将控制台输出保存到文本文件?,java,file-io,Java,File Io,例如,在代码中,我有:System.out.printlnholl World 控制台将打印:Hello World 因此,我想将控制台输出保存到文本文件中。有人能通过这个提示我吗?系统类为您提供了一种在不同的流中转储输出的方法,即SystemsetOutPrintStream out 使用此方法,可以将FileInputstream传递给System.setOut,并保存控制台输出 PrintStream printStream = new PrintStream(new FileOutput

例如,在代码中,我有:System.out.printlnholl World

控制台将打印:Hello World


因此,我想将控制台输出保存到文本文件中。有人能通过这个提示我吗?

系统类为您提供了一种在不同的流中转储输出的方法,即SystemsetOutPrintStream out

使用此方法,可以将FileInputstream传递给System.setOut,并保存控制台输出

PrintStream printStream = new PrintStream(new FileOutputStream(file));
System.setOut(printStream);

这个问题的一个有趣部分是,虽然在系统类中声明为final,但您仍然可以通过SystemsetOut重新分配它。

创建一个文件,并将其设置为out of the System类

File file = new File("out.txt"); //Your file
FileOutputStream fos = new FileOutputStream(file);
PrintStream ps = new PrintStream(fos);
System.setOut(ps);
System.out.println("This goes to out.txt");

你用谷歌搜索过用java写文件吗?可能重复。您可以直接写入文件,也可以使用操作系统命令将程序的输出重定向到文件。例如,请参阅linux中的重定向。这不会在每次写入文件时重写条目吗?很好,很简单,会有帮助。这似乎不起作用,输出文件非常空……注释?不起作用!在文件中未找到任何控制台文本。获取NPEx后。在文件中找不到任何内容。仍有npEx。请共享异常stacktrace