apache的文件工具类FileUtils
org.apache.commons.io.FileUtils是apache提供用来操作文件的工具类,可以简化文件操作。
<!-- FileUtils -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
写文件
文件的写入,FileUtils其实一行代码就能实现。list.add的数据默认会换行。
String pathName = "F:/1.txt";
List<String> list = new ArrayList<>();
list.add("我:老板,给我涨涨工资吧!");
list.add("老板:好的~");
FileUtils.writeLines(new File(pathName), list);
读文件
List<String> list = FileUtils.readLines(new File(pathName));
将网页内容写到文件中
网址必须带上传输协议,即以http/https开头,否则会报java.net.MalformedURLException: no protocol(URL格式不正确:无协议)。
URL url = new URL("https://www.baidu.com");
FileUtils.copyURLToFile(url, new File("F:/1.txt"));
根据一个Url来创建一个文件
//使用绝对路径, 必须添加file://
File file1 = FileUtils.toFile(new URL("file://D:/ideawork/demo/1.txt"));
System.out.println(file1.getAbsolutePath());
//使用相对路径
File file2 = FileUtils.toFile(App.class.getResource("/test.txt"));
System.out.println(file2.getAbsolutePath());
获取文件大小
long size = FileUtils.sizeOf(new File("D:/ideawork/demo/1.txt"));
文件复制
File srcFile = new File("D:/ideawork/demo/1.txt");
File desFile = new File(App.class.getResource("/test.txt").getPath());
FileUtils.copyFile(srcFile, desFile);
移动文件到另外一个位置,删除老文件
FileUtils.moveFile(new File("D:/ideawork/demo/1.txt"), new File("D:/ideawork/demo/2.txt"));
拷贝目录
FileUtils.copyDirectory(new File("D:/ideawork/demo/test"), new File("D:/ideawork/demo/test2"), new FileFilter() {
@Override
public boolean accept(File file) {
//return file.isDirectory() ? true : false; //只拷贝目录
return true; //拷贝所有,包括目录和文件
}
});
标签:
实用技巧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2022-11-28 介绍Spring名称生成策略接口BeanNameGenerator
2022-11-28 Spring的测试框架及MockMvc
2022-11-28 说说Spring中@Value注解
2022-11-28 PropertyPlaceholderConfigurer、PropertyOverrideConfigurer等对属性配置文件Properties的加载和使用
2022-11-28 谈谈ApplicationContextInitializer应用上下文初始化器
2021-11-28 你知道为什么HashMap是线程不安全的吗?
2021-11-28 Java序列化与反序列化三连问:是什么?为什么要?如何做?