java.util.logging检查java中是否存在文件

Sha*_*ggy 3 java logging file

我正在使用java的java.util.loggingapi来记录我的java应用程序中的消息.现在每次在应用程序启动时都会创建文件.我想检查文件是否存在然后将内容附加到该文件

代码:

public static Logger logger;
static FileHandler fh;

logger = Logger.getLogger("Log");
logger.setUseParentHandlers(false);     

String sFileName = new SimpleDateFormat("dd-MMM-yyyy").format(new Date());

fh = new FileHandler(sPath + "//" + sFileName + ".txt");
logger.addHandler(fh);

SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
Run Code Online (Sandbox Code Playgroud)

在此之后我调用下面的行来获取消息到.txt文件中

Classname.logger.info("---START LOGGING----");
Run Code Online (Sandbox Code Playgroud)

由于我的代码不使用file.open()方法,我不能去file.exists()打电话.

Fab*_*ann 7

FileHandler有一个附加到给定文件而不是覆盖它的选项.

FileHandler(String pattern, boolean append)
    Initialize a FileHandler to write to the given filename, with optional append.
Run Code Online (Sandbox Code Playgroud)

所以你的代码看起来像这样:

public static Logger logger;
static FileHandler fh;

logger = Logger.getLogger("Log");
logger.setUseParentHandlers(false);     

String sFileName = new SimpleDateFormat("dd-MMM-yyyy").format(new Date());

fh = new FileHandler(sPath + "//" + sFileName + ".txt", true);
logger.addHandler(fh);

SimpleFormatter formatter = new SimpleFormatter();
fh.setFormatter(formatter);
Run Code Online (Sandbox Code Playgroud)