使用FileUtils简化你的文件操作
来源:互联网 发布:守护进程 windows 编辑:程序博客网 时间:2024/06/04 18:07
使用FileUtils简化你的文件操作
前言:
在工作当中我们往往遇到很多文件的操作,我们也习惯写一些自己定义的工具类来简化文件操作,其实apache的commons的FileUtils类就是这样一个工具类,使用它能大大的简化我们对文件的操作。
准备工作:
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.写 文件/文件夹
2.读 文件/文件夹/* 写文件 * 1.这里只列出3种方式全参数形式,api提供部分参数的方法重载 * 2.最后一个布尔参数都是是否是追加模式 * 3.如果目标文件不存在,FileUtils会自动创建 * *///static void:write(File file, CharSequence data, String encoding, boolean append) FileUtils.write(new File("D:/a/b/cxyapi.txt"), "程序换api","UTF-8",true);//static void:writeLines(File file, Collection<?> lines, boolean append) List<String> lines=new ArrayList<String>();lines.add("欢迎访问:");lines.add("www.cxyapi.com");FileUtils.writeLines(new File("D:/a/b/cxyapi.txt"),lines,true);//static void:writeStringToFile(File file, String data, String encoding, boolean append) FileUtils.writeStringToFile(new File("D:/a/b/cxyapi.txt"), "作者:cxy", "UTF-8",true);
3.删除 文件/文件夹//读文件//static String:readFileToString(File file, String encoding) System.out.println(FileUtils.readFileToString(new File("D:/a/b/cxyapi.txt"), "UTF-8"));//static List<String>:readLines(File file, String encoding) System.out.println(FileUtils.readLines(new File("D:/a/b/cxyapi.txt"), "UTF-8")); //返回一个list
4.移动 文件/文件夹//删除目录//static void:deleteDirectory(File directory) FileUtils.deleteDirectory(new File("D:/not/cxyapi"));//static boolean:deleteQuietly(File file) FileUtils.deleteQuietly(new File("D:/not/cxyapi")); //文件夹不是空任然可以被删除,永远不会抛出异常
5.copy//移动文件 或 文件夹//static void:moveDirectory(File srcDir, File destDir) FileUtils.moveDirectory(new File("D:/cxyapi1"), new File("D:/cxyapi2")); //注意这里 第二个参数文件不存在会引发异常//static void:moveDirectoryToDirectory(File src, File destDir, boolean createDestDir) FileUtils.moveDirectoryToDirectory(new File("D:/cxyapi2"), new File("D:/cxyapi3"), true);/* 上面两个方法的不同是: * moveDirectory:D:/cxyapi2里的内容是D:/cxyapi1的内容。 * moveDirectoryToDirectory:D:/cxyapi2文件夹移动到到D:/cxyapi3里 * * 下面的3个都比较简单没提供示例,只提供了api * 其中moveToDirectory和其他的区别是 它能自动识别操作文件还是文件夹 *///static void:moveFileToDirectory(srcFile, destDir, createDestDir)//static void:moveFile(File srcFile, File destFile) //static void:moveToDirectory(File src, File destDir, boolean createDestDir)
6.其他//结果是cxyapi和cxyapi1在同一目录FileUtils.copyDirectory(new File("D:/cxyapi"), new File("D:/cxyapi1")); //结果是将cxyapi拷贝到cxyapi2下FileUtils.copyDirectoryToDirectory(new File("D:/cxyapi"), new File("D:/cxyapi2"));//拷贝文件FileUtils.copyFile(new File("d:/cxyapi.xml"), new File("d:/cxyapi.xml.bak"));//拷贝文件到目录中FileUtils.copyFileToDirectory(new File("d:/cxyapi.xml"), new File("d:/cxyapi"));//拷贝url到文件FileUtils.copyURLToFile(new URL("http://www.cxyapi.com/rss/cxyapi.xml"), new File("d:/cxyapi.xml"));
//判断是否包含文件或者文件夹boolean b=FileUtils.directoryContains(new File("D:/cxyapi"), new File("D:/cxyapi/cxyapi.txt"));System.out.println(b);//获得临时目录 和 用户目录System.out.println(FileUtils.getTempDirectoryPath());System.out.println(FileUtils.getUserDirectoryPath());//打开流,如果不存在创建文件及其目录结构//第二个参数表示 文件流是否是追加方式FileOutputStream fos=FileUtils.openOutputStream(new File("D:/cxyapi/cxyapi.txt"),true);fos.write(new String("欢迎访问:www.cxyapi.com\r\n").getBytes());fos.close();//文件 或 文件夹大小System.out.println(FileUtils.sizeOf(new File("D:/cxyapi")));System.out.println(FileUtils.sizeOfDirectory(new File("D:/cxyapi")));
摘自:http://snkcxy.iteye.com/blog/1845862
- 使用FileUtils简化你的文件操作
- 使用FileUtils简化你的文件操作
- 使用FileUtils简化你的文件操作
- 使用FileUtils简化你的文件操作
- 使用FileUtils简化你的文件操作
- 使用FileUtils简化你的文件操作
- 使用FileUtils简化你的文件操作
- 使用FileUtils简化你的文件操作
- 使用FileUtils简化你的文件操作
- 使用FileUtils简化你的文件操作
- 使用FileUtils简化你的文件操作
- 使用FileUtils简化你的文件操作(commons-io.jar)
- 使用FileUtils来简化文件操作
- FileUtils 基本文件操作
- FileUtils 对文件操作
- FileUtils文件操作
- Coco2dx文件操作FileUtils
- 文件工具类FileUtils的使用
- Android地图应用新视界--mapbox的应用开发之初始集成篇
- iOS_第3方网络请求_YTKNetwork
- 一点一点学习逆向:学习记录
- 典型中断1:访问xxx与xxx地址冲突
- android 进程注入流程
- 使用FileUtils简化你的文件操作
- 个人的vim配置
- hdu1532-Drainage Ditches
- R语言-数据处理包 dplyr
- NDK工具使用,JNI开发
- C++中的虚函数详解
- IOS开发中WebView加载资源路径问题
- RxBus事件总线的实现
- Ng机器学习 Week8 Unsupervised Learning