搜索
热搜: 活动 交友 discuz
查看: 6545|回复: 0

[JAVA] FileUtils文件处理操作

[复制链接]

57

主题

58

帖子

1232

积分

超级版主

Rank: 8Rank: 8

积分
1232
发表于 2024-6-21 17:15:56 | 显示全部楼层 |阅读模式
本帖最后由 Maybe 于 2024-6-21 17:20 编辑

准备工作:
    1.下载jar     地址:http://commons.apache.org/proper/commons-io/download_io.cgi
    2.把commons-io-2.4.jar 这个文件导入到你的项目中

说明:
    1.由于是一个工具类使用都非常的简单 所以本文只是将其分类,展示它能够提供给我们什么。
    2.习惯看api的可以直接看官方的api  传送门
    3.可以看一看官方的指引  指引传送门
    4.FileUtils只是commons-io的其中一个工具类

分类说明演示:
    1.写 文件/文件夹
  1. /* 写文件
  2. * 1.这里只列出3种方式全参数形式,api提供部分参数的方法重载
  3. * 2.最后一个布尔参数都是是否是追加模式
  4. * 3.如果目标文件不存在,FileUtils会自动创建
  5. * */  
  6. //static void:write(File file, CharSequence data, String encoding, boolean append)   
  7. FileUtils.write(new File("D:/a/b/cxyapi.txt"), "程序换api","UTF-8",true);  
  8.   
  9. //static void:writeLines(File file, Collection<?> lines, boolean append)   
  10. List<String> lines=new ArrayList<String>();  
  11. lines.add("欢迎访问:");lines.add("www.cxyapi.com");  
  12. FileUtils.writeLines(new File("D:/a/b/cxyapi.txt"),lines,true);  
  13.   
  14. //static void:writeStringToFile(File file, String data, String encoding, boolean append)   
  15. FileUtils.writeStringToFile(new File("D:/a/b/cxyapi.txt"), "作者:cxy", "UTF-8",true);  
复制代码


  2.读 文件/文件夹
  1. //读文件  
  2. //static String:readFileToString(File file, String encoding)   
  3. System.out.println(FileUtils.readFileToString(new File("D:/a/b/cxyapi.txt"), "UTF-8"));  
  4.   
  5. //static List<String>:readLines(File file, String encoding)   
  6. System.out.println(FileUtils.readLines(new File("D:/a/b/cxyapi.txt"), "UTF-8")); //返回一个list
复制代码


   3.删除 文件/文件夹
  1. //删除目录  
  2. //static void:deleteDirectory(File directory)   
  3. FileUtils.deleteDirectory(new File("D:/not/cxyapi"));  
  4.   
  5. //static boolean:deleteQuietly(File file)   
  6. FileUtils.deleteQuietly(new File("D:/not/cxyapi")); //文件夹不是空任然可以被删除,永远不会抛出异常  
复制代码



4.移动 文件/文件夹
  1. //移动文件 或 文件夹  
  2. //static void:moveDirectory(File srcDir, File destDir)   
  3. FileUtils.moveDirectory(new File("D:/cxyapi1"), new File("D:/cxyapi2")); //注意这里 第二个参数文件不存在会引发异常  
  4. //static void:moveDirectoryToDirectory(File src, File destDir, boolean createDestDir)   
  5. FileUtils.moveDirectoryToDirectory(new File("D:/cxyapi2"), new File("D:/cxyapi3"), true);  
  6. /* 上面两个方法的不同是:
  7. * moveDirectory:D:/cxyapi2里的内容是D:/cxyapi1的内容。
  8. * moveDirectoryToDirectory:D:/cxyapi2文件夹移动到到D:/cxyapi3里
  9. *  
  10. * 下面的3个都比较简单没提供示例,只提供了api
  11. * 其中moveToDirectory和其他的区别是 它能自动识别操作文件还是文件夹
  12. */  
  13. //static void:moveFileToDirectory(srcFile, destDir, createDestDir)  
  14. //static void:moveFile(File srcFile, File destFile)   
  15. //static void:moveToDirectory(File src, File destDir, boolean createDestDir)  
复制代码


5.copy
  1. //结果是cxyapi和cxyapi1在同一目录  
  2. FileUtils.copyDirectory(new File("D:/cxyapi"), new File("D:/cxyapi1"));   
  3. //结果是将cxyapi拷贝到cxyapi2下  
  4. FileUtils.copyDirectoryToDirectory(new File("D:/cxyapi"), new File("D:/cxyapi2"));  
  5.   
  6. //拷贝文件  
  7. FileUtils.copyFile(new File("d:/cxyapi.xml"), new File("d:/cxyapi.xml.bak"));  
  8. //拷贝文件到目录中  
  9. FileUtils.copyFileToDirectory(new File("d:/cxyapi.xml"), new File("d:/cxyapi"));  
  10. //拷贝url到文件  
  11. FileUtils.copyURLToFile(new URL("http://www.cxyapi.com/rss/cxyapi.xml"), new File("d:/cxyapi.xml"));
复制代码

6.其他
  1. //判断是否包含文件或者文件夹  
  2. boolean b=FileUtils.directoryContains(new File("D:/cxyapi"), new File("D:/cxyapi/cxyapi.txt"));  
  3. System.out.println(b);  
  4.   
  5. //获得临时目录 和 用户目录  
  6. System.out.println(FileUtils.getTempDirectoryPath());  
  7. System.out.println(FileUtils.getUserDirectoryPath());  
  8.   
  9. //打开流,如果不存在创建文件及其目录结构  
  10. //第二个参数表示 文件流是否是追加方式  
  11. FileOutputStream fos=FileUtils.openOutputStream(new File("D:/cxyapi/cxyapi.txt"),true);  
  12. fos.write(new String("欢迎访问:www.cxyapi.com\r\n").getBytes());  
  13. fos.close();  
  14.   
  15. //文件 或 文件夹大小  
  16. System.out.println(FileUtils.sizeOf(new File("D:/cxyapi")));  
  17. System.out.println(FileUtils.sizeOfDirectory(new File("D:/cxyapi")));  
复制代码












上一篇:SpringApplication启动配置,端口日志打印
下一篇:JAVA接入讯虎支付接口调用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

抖音账号
关注抖音
加入粉丝群,抽取论坛金币


Archiver|手机版|小黑屋|IT趣-GEEK社区

GMT+8, 2024-9-8 09:21 , Processed in 0.068803 second(s), 22 queries .

Powered by Discuz! X3.4. 技术支持 by 巅峰设计

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表