文件操作工具类 FileUtils常用方法
2016-12-22 14:06
253 查看
文件操作工具类(FileUtils)
使用该工具类的前提是项目里导入commons-io 包
import org.apache.commons.io.FileUtils;List<String> lines=new ArrayList<String>();
lines.add("欢迎访问:");
lines.add("www.cxyapi.com");
*如果没有文件会自动创建,并且将集合元素以行来划分,多次写入会覆盖原有内容。
FileUtils.writeLines(new File("D:/a/b/cxyapi.txt"),lines); |
*以下方法无效,不知道什么原因,带boolean的这种都无效
FileUtils.writeLines(new File("D:/a/b/cxyapi.txt"),lines,true); |
*写入一行数据,如果已经有值会替换。
FileUtils.writeStringToFile(new File("D:/a/b/cxyapi.txt"), "作者:cxy", "UTF-8"); |
*读取文件数据,以字符串返回,每行后加一个\r\n在控制台显示,所以可以以下边的办法转为数组。
String aString = FileUtils.readFileToString(new File("D:/a/b/cxyapi.txt"), "UTF-8"); String[] a = aString.split("\\r\\n"); //将文件内容按行为单位转换为字符串数组 |
* 读取文件数据,以字符串集合返回
List<String> list = FileUtils.readLines(new File("D:/a/b/cxyapi.txt"), "UTF-8"); |
* 该方法会将b文件夹删掉,不管b下是否有内容,如果b不存在也不报错
FileUtils.deleteDirectory(new File("D:/a/b")); |
* 将a文件夹下内容拷贝到ee文件夹下,如果a不存在则报异常,ee不存在则会新建
FileUtils.moveDirectory(new File("D:/b/c"), new File("D:/b/mm/ff")); |
* 将cc文件夹拷贝到3文件夹下,与上边不同的是,cc文件夹会存在,也是前者没有会报错,后者没有会新建
FileUtils.moveDirectoryToDirectory(new File("D:/b/cc"), new File("D:/b/3"), true); |
* 此方法将mm下(不包括mm)所有的文件夹及文件复制到3下,如果有同名文件夹则合并,如果有同名文件则替换
FileUtils.copyDirectory(new File("D:/b/mm"), new File("D:/b/3")); |
* 此方法将mm下(包括mm)所有的文件夹及文件复制到3下,如果有同名文件夹则合并,如果有同名文件则替换
FileUtils.copyDirectoryToDirectory(new File("D:/b/mm"), new File("D:/b/3")); |
* (常用)此方法将b文件夹下a.doc拷贝到mm下a.doc,前者不存在会报错,后者不存在会新建,如果后者存在同名文件则替换
* 另外如果后者为a.xml等不同后缀的文件,程序仍不报错,但文件内容乱码
FileUtils.copyFile(new File("d:/b/a.doc"), new File("d:/b/mm/a.doc")); FileUtils.copyFile(new File("d:/b/a.doc"), new File("d:/b/mm","a.doc"));//与上边功能一样 |
* 此方法将b文件夹下的a.doc拷贝到b/3mm文件夹下,如果有同名文件则替换,前者没有报错,后者没有新建
FileUtils.copyFileToDirectory(new File("d:/b/a.doc"), new File("d:/b/3mm")); |
* 此方法可以将任何网址的后台页面内容拷贝到a.xml文件内,如果后者存在则替换,不存在则新建,前者不存在则报错,网页访问出错(404等)则不报错
FileUtils.copyURLToFile(new URL("http://www.baidu.com"), new File("d:/b/a.xml")); |
* 判断两个文件内容是否相同,如果两者都不存在仍认定为相同,如果类型不同(文件与文件夹相比则报错),此方法只能比较文件,
* 不能用于文件夹比较,但是该方法感觉不稳定,总是瞎报错,明明内容一样,非说false。
boolean b=FileUtils.contentEquals(new File("D:/b/a.doc"), new File("D:/b/mm/c.doc")); |
* 清理3文件夹下所有内容(有了它,再也不需要写递归方法了吧?)
FileUtils.cleanDirectory(new File("d:/b/3")); |
* 可删除文件,也可以删除文件夹,删除3文件夹,包括子文件及文件夹(有了它,再也不需要写递归方法了吧?)
FileUtils.forceDelete(new File("d:/b/a.doc")); |
* 删除3文件夹,包括子文件及文件夹(有了它,再也不需要写递归方法了吧?)可删除文件夹也可以删除文件
FileUtils.deleteDirectory(new File("d:/b/3")); |
* 该文件是否在该时间之前创建(isFileOlder)
* 该文件是否在该时间之后创建(isFileNewer)
String string="2016-12-20 10:00:00.023"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS"); //最后三个大写SSS代表毫秒,写1个表示前边都不补0,写两个只有是两位0补全 b= FileUtils.isFileOlder(new File("D:/b/a.doc"),sdf.parse(string)); b= FileUtils.isFileNewer(new File("D:/b/a.doc"),sdf.parse(string)) |
* 只能针对于目录文件夹,不能查看文件大小(查看文件是file.length()
例如:new File("d:/b/a.xml").length())
long a = FileUtils.sizeOfDirectory(new File("d:/b")); //单位为字节B |
相关文章推荐
- Java 文件操作常用方法——File
- php文件操作常用函数或方法
- 最为常用的C#经典操作文件方法
- java:File类中对文件或目录进行操作的常用方法以及遍历文件夹下面的文件
- OC学习笔记16--OC中文件操作-NSFileManager的使用及文件操作中常用的一些字符串方法
- .NET C#操作文件系统数据的常用方法总结 part1
- 【ios 汇总 - 操作文件常用方法】 (NSFileManager NSFileHandle NSData)
- 操作文件处理常用方法(Java实现)
- 让你提前认识软件开发(18):C语言中常用的文件操作函数总结及使用方法演示代码
- Android文件、内存、SDCard管理常用工具类、方法
- 日期操作工具类之 Calendar的常用方法封装
- 流操作通过BufferedWriter向文件末尾追加内容的几种常用方法
- 使用org.apache.commons.io.FileUtils,IOUtils;工具类操作文件
- Joomla 文件操作常用方法
- C#中常用的经典文件操作方法
- C#中常用的经典文件操作方法
- vbs操作txt文本文件常用方法(函数)
- JAVA对文件操作的常用方法
- python文件目录操作常用方法总结
- 对文件操作的常用的几个方法