【发布时间】:2021-05-21 07:42:47
【问题描述】:
我使用此代码将一些文本写入文件,同时将文件大小限制为 1G
但每次输入新文本时,它都会覆盖当前文件内容。 如何禁用覆盖并仍然保持文件大小限制?
public synchronized void writeToAFile(String msg,String filePath) {
Path path = FileSystems.getDefault().getPath(filePath);
final long SIZE_1GB = 1073741824L;
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new LimitedOutputStream(Files.newOutputStream(path), SIZE_1GB), StandardCharsets.UTF_8))) {
writer.append(msg);
} catch (Exception e) {
LOGGER.error("Something went wrong while writing to the file {} ", e.getMessage());
e.printStackTrace();
}
}
【问题讨论】:
-
LimitedOutputStream是从哪里导入的? -
导入 org.xnio.streams.LimitedOutputStream;
标签: java append overriding bufferedwriter