当前位置: 首页 > 知识库问答 >
问题:

如何将控制台显示中的输出保存到Java中的文件TXT中?

翁烨霖
2023-03-14

我已经尝试用下面的代码将应用程序的输出保存到txt文件中。它可以将输出写入txt文件,但输出没有显示在控制台显示中。如何处理显示在控制台和保存到文件的输出?

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;

public class DocGhiFile {
    public static void main(String[] args) {

        try {
            final boolean append = true, autoflush = true;
            PrintStream printStream = new PrintStream(new FileOutputStream("test.txt", append), autoflush);
            System.setOut(printStream);
            System.setErr(printStream);

        } catch (IOException e) {
            System.out.println("Error during reading/writing");
        }
        System.out.println("TEST");
    }
}

代码运行后控制台显示和txt文件

共有1个答案

尹俊雅
2023-03-14

使用两个打印流,一个写入控制台,另一个写入文件,如下所示


        try {
            final boolean append = true, autoflush = true;
            PrintStream printWriter = new PrintStream(new FileOutputStream("test.txt", append), autoflush);
            PrintStream printStream = new PrintStream(System.out, autoflush); // to write to console
            System.setOut(printWriter);
            printStream.println("Test to console");
            System.setErr(printWriter);

        } catch (IOException e) {
            System.out.println("Error during reading/writing");
        }
        System.out.println("TEST to file");

 类似资料:
  • 问题内容: 我已尝试使用此代码建议(http://www.daniweb.com/forums/thread23883.html#)将控制台输出写入txt文件,但未成功。怎么了? 问题答案: 你需要执行以下操作: 第二句话是关键。它将假定的“最终” 属性的值更改为提供的值。 可以使用类似的方法(和)来更改标准输入和错误流。有关详细信息,请参考。 上面的一个更通用的版本是这样的: 如果为is ,则流

  • 问题内容: 我正在尝试在python中找到一种将脚本执行日志重定向到文件以及以pythonic方式的方法。有没有简单的方法可以做到这一点? 问题答案: 我想出了这个[unested] 在python中将期望有一个函数。您可以使用具有此功能的自定义对象。否则,您也可以让sys.stdout引用您的对象,在这种情况下,即使没有,它也会被准备。

  • 问题语句:我有一个在Xcode中运行的程序,它有一堆print()语句,可以很好地将输出打印到调试控制台。然而,我希望也能够将这些输出重定向到一个文件,这样我就可以让用户将它们发送给我,作为调试的一种方式。 SO上找到的解决方案使我可以将输出重定向到文件,但调试控制台输出将丢失。 问:我想要我的蛋糕和吃它。我希望能够将print()语句重定向到调试控制台和文件。 所以我有引用:https://st

  • 问题内容: 我在完全冻结JVM的应用程序中发现一个错误。产生的stacktrace将为开发人员提供有价值的信息,我想从Java控制台中检索它。JVM崩溃时,控制台被冻结,我无法再复制包含的文本。 是否可以将Java控制台直接通过管道传输到文件,或通过其他某种方式访问​​Java应用程序的控制台输出? 更新:我忘记提了,没有更改代码。我是手动测试仪。 更新2:这是在Windows XP下,它实际上是

  • 使用Windows下的Eclipse Juno,我配置了一个外部工具,该工具调用程序,并将Python脚本文件作为参数运行(后者位于双引号之间,如)。 我还再次检查了外部工具配置窗口中的“Common”选项卡中是否设置了“Allocate Console”选项。

  • 问题内容: 如何将输出重定向到txt文件(在Windows平台上)? 问题答案: 如果是我,我将使用上面的David Heffernan的方法将变量写入文本文件(因为其他方法要求用户使用命令提示符)。