java - outputStream.println() - 不打印到 .log 文件?我不明白为什么

标签 java fileoutputstream

我正在尝试将时间条目打印到日志文件中,但它不会输出。我使用了几乎相同的代码来记录消息,并且效果很好。有人能看到我看不到的东西吗?测试打印行全部打印,没有出现错误。感谢您的帮助...

private static String logTime(long time, String operation)
  {
    PrintWriter outputStream = null;
    String logFile = "time.log";

    System.out.println("Writing output");
    try{
    System.out.println("Writing output2");
      outputStream = new PrintWriter(new FileOutputStream(logFile, true));


    } catch(FileNotFoundException e){
      System.out.println("File not found by logTime.");
    }
    System.out.println("Writing output3");

    outputStream.println(operation); //operation + " : " + Long.toString(time) + "Mills"
    outputStream.close();

    return "";
  }

最佳答案

在您的代码中,您使用构造函数而不自动行刷新。

PrintWriter(OutputStream out) 从现有的 OutputStream 创建一个新的 PrintWriter,不自动行刷新。

因此,您应该使用 outputStream.flush() 或使用具有自动行刷新功能的构造函数:

PrintWriter(OutputStream out, boolean autoFlush).

详情参见 http://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html

关于java - outputStream.println() - 不打印到 .log 文件?我不明白为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21665386/

相关文章:

java - 如何调用在另一个线程中运行的程序的关闭钩子(Hook)

java - 如何在 Java 程序中从 JSON 中获取值?

JAVA:文件输入流和文件输出流

Java Apache POI : Read/Write from . 文档文件问题

java - Android 如果矩形包含触摸坐标,则添加到数组中,给出奇怪的输出

java - 检查两个集合是否至少包含一个相同元素的快速方法

java - 为什么选择 XML 而不是 Log4J 配置的属性文件?

java - 如何在 Java FileOutputStream 中写入新行

java - FileOutputStream 等待写入完成

Java FileOutputStream,将 double 据写入文件