0

当且仅当发生错误时,我希望我的应用程序创建一个 error.log。所以我这样做了:

System.setErr(new PrintStream("error.log"));

在 Eclipse 中按预期工作 - 发生错误,在源目录中弹出带有错误消息的 error.log。但是,导出的应用程序在程序启动时会创建一个完全空的日志文件,这很烦人。这种行为的原因是什么?

4

2 回答 2

0

看看 PrintStream api

当您调用new PrintStream如果error.log文件不存在时,它将创建它。

http://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html#PrintStream(java.lang.String)

fileName - 用作此打印流目标的文件的名称。如果文件存在,那么它将被截断为零大小;否则,将创建一个新文件。输出将被写入文件并被缓冲。

于 2014-03-28T14:55:16.957 回答
0

PrintStream文档

fileName- 用作此打印流目标的文件的名称。如果文件存在,那么它将被截断为零大小;否则,将创建一个新文件。输出将被写入文件并被缓冲。

此代码在我的 NetBeans 版本中创建文件。您可以PrintStream在第一个错误上创建,而不是无论如何创建它。

于 2014-03-28T14:55:30.083 回答