我有一个日志记录类,用于写入应用程序内部存储空间中的文件。每当日志文件超过大小限制时。为了清除内容,我将关闭当前的 FileOutputStream 并使用写入模式创建一个新流并将其关闭。有没有更好的方法来实现这一点:
public final void clearLog() throws IOException {
synchronized (this) {
FileOutputStream fos = null;
try {
// close the current log file stream
mFileOutputStream.close();
// create a stream in write mode
fos = mContext.openFileOutput(
LOG_FILE_NAME, Context.MODE_PRIVATE);
fos.close();
// create a new log file in append mode
createLogFile();
} catch (IOException ex) {
Log.e(THIS_FILE,
"Failed to clear log file:" + ex.getMessage());
} finally {
if (fos != null) {
fos.close();
}
}
}
}