原文:http://snkcxy.iteye.com/blog/1845862
前言:
在工作当中我们往往遇到很多文件的操作,我们也习惯写一些自己定义的工具类来简化文件操作,其实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.写 文件/文件夹
- /* 写文件
- * 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);
2.读 文件/文件夹
- //读文件
- //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
3.删除 文件/文件夹
- //删除目录
- //static void:deleteDirectory(File directory)
- FileUtils.deleteDirectory(new File("D:/not/cxyapi"));
- //static boolean:deleteQuietly(File file)
- FileUtils.deleteQuietly(new File("D:/not/cxyapi")); //文件夹不是空任然可以被删除,永远不会抛出异常
4.移动 文件/文件夹
- //移动文件 或 文件夹
- //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)
5.copy
- //结果是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"));
6.其他
- //判断是否包含文件或者文件夹
- 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")));
声明:
1.原创文章,转载请标明并加本文连接。
2.文章反映个人愚见,如有异议欢迎讨论指正
3.更多的内容请看我的 个人博客(测试版)
相关推荐
【Java基础】-- FileUtils工具类常用方法(csdn)————程序
FileUtils实现文件下载,下载的文件会显示真是的文件名,下载的文件无论什么格式都不会在页面直接打开
fileutils-maven-插件fileutils-maven-plugin 是一个构建插件,用于对文本文件执行一些基本操作。目标概述fileutils-maven-plugin 提供了几个目标。 fileutils-maven-plugin:concatFileList 将文件内容连接到输出...
实现文件的创建、删除、复制、压缩、解压以及目录的创建、删除、复制、压缩解压等功能
java代码-使用java解决文件相关操作——FileUtil的源代码 ——学习参考资料:仅用于个人学习使用!
,复制单个文件到指定路径,复制整个文件夹到指定路径,复制文件夹下所有文件到指定路径,删除单个文件,删除文件夹下所有文件,删除文件夹以及文件下下所有文件。。。等
FileUtils.java 文件处理工具类
java web 上传下载工具类,压缩包内包含src和WebRoot,直接新建项目,然后复制这两个目录内的文件,覆盖新建项目中的文件即可。用法参见test用例
支持多线程上传下载,支持断点续传功能的一个工具类。
fileutils.zip,fileutils-一个简单的filewatcher实用程序一个简单的filewatcher实用程序
- 由第三方研发的工具类 - 要使用commons-io工具包,就需要先从第三方下载该工具包 - 在当前项目工程下,导入commons-io工具包(借鉴之前使用过的logback) ...commons-io可以简化IO复制文件的操作
文件工具类FileUtils,对文件中内容行数lines的总数统计
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
fileutils fileutils具有实用程序功能,可以读取,写入和同步文件。用例写文件: write("/tmp/myfile.txt", std::string_view{"Hello, world!"});将文件同步到存储: sync("/tmp/myfile.txt");读取文件: std::...
关于文件操作工具类相关方法介绍,手工打造描述,请多多指教
pd-fileutils 这是的解析器。
项目说明 1、两种分片存储跟合并方式 1. 存储每一个分片文件,调用合并或程序判断是否最后一个分片自动合并 2. 接收到分片文件,同时追加到指定...包含controller-service-domain-fileUtils 实战代码可以直接运行
删除文件 文件名称验证 检查文件是否可下载 下载文件名重新编码 返回文件名 是否为Windows或者Linux(Unix)文件分隔符,Windows平台下分隔符为\,Linux(Unix)为/ 百分号编码工具方法