java 清空文件内容的两种方式 202513146编辑

Heaven helps those who help themselves
资深码农+深耕理财=财富自由
欢迎关注

java 清空文件内容的两种方式

Created by Marydon on 2021-05-11 09:58

1.情景展示

  有时候,我们需要这样一种场景:

  我们知道,在java中,往同一文件中写入内容,如果该文件已经有内容的话,将要写入的内容会自动拼接到原内容后面(不会破坏原文件内容)

  但是,如果我们不想保留原有内容的话,在写入内容之前需要进行内容清空,如何实现?

2.方式一(推荐使用)

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
// 创建原文件对象
final File file = new File("C:\\Users\\Marydon\\Desktop\\123-测试记录.txt" );
try {
// 使用FileWriter不需要考虑原文件不存在的情况
// 当该文件不存在时,new FileWriter(file)会自动创建一个真实存在的空文件
FileWriter fileWriter = new FileWriter(file);
// 往文件重写内容
fileWriter.write("");// 清空
fileWriter.flush();
fileWriter.close();
log.info("原文件内容清除完毕");
} catch (IOException e) {
e.printStackTrace();
}

  2021-05-21

  当文件处在使用中的时候,以*.log文件或者*.txt文件为例,不影响对文件内容的变更操作。

  之前的日志内容已被清空。 

说明:

获取日志文件所在路径,可以设置成动态获取。

具体实现,见文末操作。

3.方式二

1
2
3
4
5
6
7
8
9
10
11
12
13
// 创建原文件对象
final File file =     new File(    "C:\\Users\\Marydon\\Desktop\\123-测试记录.txt" );
// 方式二:删除原文件、创建新文件
// 原文件存在即删除
if (file.exists()) file.delete();
 
try {
    // 创建新(空)文件(原文件不存在时,才会创建成功)
    file.createNewFile();
    log.info(    "文件已被重新创建" );
}     catch (Exception e) {
    e.printStackTrace();
}

  使用前提:原文件不能被其它地方或程序占用。

  无论什么样的文件,以日志文件为例,当项目启动后,指定将日志输出到sys.log中,此时,使用方式二将原文件删除,然后创建新文件的方式并不会生效。 

注意:

  至于输入中文导致的乱码问题不在本文的处理范围内,创建文件的字符集由操作系统决定,详见文末推荐。

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

与君共勉:最实用的自律是攒钱,最养眼的自律是健身,最健康的自律是早睡,最改变气质的自律是看书,最好的自律是经济独立 。

您的一个点赞,一句留言,一次打赏,就是博主创作的动力源泉!

↓↓↓↓↓↓写的不错,对你有帮助?赏博主一口饭吧↓↓↓↓↓↓

posted @   Marydon  阅读(13145)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
历史上的今天:
2020-05-11 Oracle 遍历游标的四种方式(for、fetch、while、BULK COLLECT)
2020-05-11 plsql 中如何使用dbms_output输出结果
2017-05-11 STRUTS2配置动态页面
点击右上角即可分享
微信分享提示
sorry,本博客所有代码禁止复制,原创代码需扫码支付方可获取!
关闭

1、先加好友再付费,点我加好友;

2、代码不能满足你的需求?加好友付费定制你的专属代码!

3、付费标准及方式,点我查看详情。