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

时间:2014-02-09 21:37:46

标签: 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 "";
  }

1 个答案:

答案 0 :(得分:1)

在你的代码中,你使用没有自动行刷新的构造函数。

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

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

PrintWriter(OutputStream out, boolean autoFlush)

有关详细信息,请参阅http://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html