FileUtils类的应用

1、写入一个文件;

2、从文件中读取;

3、创建一个文件夹,包括文件夹;

4、复制文件和文件夹;

5、删除文件和文件夹;

6、从URL地址中获取文件;

7、通过文件过滤器和扩展名列出文件和文件夹;

8、比较文件内容;

9、文件最后的修改时间;

10、计算校验和。

一、 复制文件或文件夹方法

public class CopyFileorDirectory {public static void main(String[] args) throws Exception {File file1 =new File("path1");File file2 =new File("path2");File file3 =new File("path3");File file4 =new File("path4");File file5 =new File("path5");//将文件复制到指定文件夹中,保存文件日期的时间。// 该方法将指定源文件的内容复制到指定目标目录中相同名称的文件中。// 如果不存在,则创建目标目录。如果目标文件存在,则该方法将覆盖它。FileUtils.copyFileToDirectory(file1,file2);//文件不重命//将文件复制到一个新的地方(重命名文件)并保存文件日期的时间。FileUtils.copyFile(file1,file3);//复制文件夹到指定目录下,如果指定目录不存在则创建FileUtils.copyDirectoryToDirectory(file2,file4);//复制文件夹到指定目录下并重命名FileUtils.copyDirectory(file4,file5);//该方法将指定的源目录结构复制到指定的目标目录中。FileUtils.copyDirectory(file4,file5, DirectoryFileFilter.DIRECTORY);// 复制文件夹下第一级内容中指定后缀文件IOFileFilter txtSuffixFilter = FileFilterUtils.suffixFileFilter(".txt");IOFileFilter txtFiles = FileFilterUtils.and(FileFileFilter.FILE, txtSuffixFilter);FileUtils.copyDirectory(file4,file5, txtFiles);// 复制文件目录结构及文件夹下第一级目录内指定后缀文件FileFilter filter = FileFilterUtils.or(DirectoryFileFilter.DIRECTORY, txtFiles);FileUtils.copyDirectory(file4,file5, filter,false);//preserveFileDate参数默认为true。//将字节从URL源复制到文件目的地。如果它们还不存在,则将创建到目的地的目录。如果已经存在,文件将被覆盖。URL source = new URL("http://imgsrc.baidu.com/baike/pic/ewe.jpg");FileUtils.copyURLToFile(source,file5,1000,1000);// 等待NFS传播文件创建,并强制执行超时。该方法重复测试File.exists(),直到它返回true,或直到秒内指定的最大时间。File file = new File("/abc/");boolean d = FileUtils.waitFor(file,100);System.out.println(d);}
}

二、删除文件或文件方法

public class FileorDirectoryDelete {public static void main(String[] args) throws Exception{File file = new File("path1");File directory = new File("path2");//递归删除一个目录(包括内容)。FileUtils.deleteDirectory(directory);//删除一个文件,不会抛出异常。如果文件是一个目录,删除它和所有子目录。FileUtils.deleteQuietly(file);//清理内容而不删除它。FileUtils.cleanDirectory(directory);//删除一个文件,会抛出异常//如果file是文件夹,就删除文件夹及文件夹里面所有的内容。如果file是文件,就删除。//如果某个文件/文件夹由于某些原因无法被删除,会抛出异常FileUtils.forceDelete(file);}
}

三、创建目录

public class CreatDirectory {public static void main(String[] args) throws Exception {File file = new File("path");//创建一个文件夹,如果由于某些原因导致不能创建,则抛出异常//一次可以创建单级或者多级目录FileUtils.forceMkdir(new File("/Users/wuguibin/Downloads/folder"));//为指定文件创建文件的父级目录FileUtils.forceMkdirParent(file);}
}

四、移动文件或文件夹

//移动文件夹,并重新命名
FileUtils.moveDirectory(new File("/Users/Downloads/file1"),new File("/Users/Downloads/file2/file3"));//移动文件夹,并给定是否重命名
FileUtils.moveDirectoryToDirectory(new File("/Users/Downloads/file1"),new File("/Users/Downloads/file2/"),false);//移动文件到指定文件夹中,并重新命名
FileUtils.moveFile(file1,new File("/Users/Downloads/海葡萄.jpen"));//移动文件到指定文件夹中,并给定是否创建文件夹
FileUtils.moveFileToDirectory(new File("/Users/Downloads/海葡萄.jpeg"),new File("/Users/Downloads/file2"),false);

五、判断文件是否相同或包含关系、获取文件或文件夹大小

//确定父目录是否包含指定子元素(一个文件或目录)。即directory是否包含file2,在比较之前,文件是标准化的。
boolean a = FileUtils.directoryContains(directory,file2);
//比较两个文件的内容,以确定它们是否相同。
boolean b = FileUtils.contentEquals(file1, file2)//获取指定文件或文件夹大小,有可能溢出,变为负值
long l = FileUtils.sizeOf(file1);
System.out.println(l+"KB");
//获取指定文件或文件夹大小,不溢出
BigInteger bi= FileUtils.sizeOfAsBigInteger(file1);
System.out.println(bi+"kb");
//递归地计算一个目录的大小(所有文件的长度的总和)。
//注意,sizeOfDirectory()没有检测溢出,如果溢出发生,返回值可能为负。sizeOfDirectoryAsBigInteger()方法则不溢出。
FileUtils.sizeOfDirectory(file1);
FileUtils.sizeOfDirectoryAsBigInteger(file1);

六、比较文件新旧

//比较指定文件是否比参考文件创建或修改后时间晚boolean b = FileUtils.isFileNewer(file1,file2));//如果指定的文件比指定的日期更新。SimpleDateFormat date = new SimpleDateFormat("yyyy/MM/dd");String date1 = "2017/06/20";boolean c = FileUtils.isFileNewer(file1,date.parse(date1));boolean d = FileUtils.isFileNewer(file1,23243);//指定文件创建或修改后的时间是否比参考文件或日期早FileUtils.isFileOlder(file1,232434);FileUtils.isFileOlder(file1,System.currentTimeMillis());

七、写入文件

//把集合里面的内容写入文件,以指定字符串结束写入//void writeLines(File file,Collection<?> lines,String lineEnding,boolean append)ArrayList<String> list = new ArrayList<>();String str1 = "Java";String str2 = "JSP";list.add(str1);list.add(str2);FileUtils.writeLines(file8,"GBK",list,"java",true);//把字符串写入文件//参数1:需要写入的文件,如果文件不存在,将自动创建。  参数2:需要写入的内容//参数3:编码格式     参数4:是否为追加模式( ture: 追加模式,把字符串追加到原内容后面)String data1 = "认真";FileUtils.writeStringToFile(file,data1, "UTF-8", true);//把字节数组写入文件byte [] buf = {13,123,34};System.out.println(new String(buf));FileUtils.writeByteArrayToFile(file13,buf,0,buf.length,true);

八、读取文件及获取输入输出流

//将文件的内容读入一个字符串中。String str =  FileUtils.readFileToString(file,"UTF-16" ); FileUtils.readFileToByteArray(file);//把文件读取到字节数组里面byte[] readFileToByteArray(final File file)//把文件读取成字符串 ;Charset encoding:编码格式String readFileToString(final File file, final Charset encoding)//把文件读取成字符串集合 ;Charset encoding:编码格式List<String> list4 =FileUtils.readLines(new File("/Users/Shared/笔记/java.txt"),"UTF-8");Iterator it = list4.iterator();while (it.hasNext()){Object obj=it.next();System.out.println(obj);}//获取输入流
FileUtils.openInputStream(file);//获取输出流
FileUtils.openOutputStream(file);

org.apache.commons.io如何使用相关推荐

  1. [转]Apache Commons IO入门教程

    Apache Commons IO是Apache基金会创建并维护的Java函数库.它提供了许多类使得开发者的常见任务变得简单,同时减少重复(boiler-plate)代码,这些代码可能遍布于每个独立的 ...

  2. java.lang.NoClassDefFoundError:org/apache/commons/io/Charsets (jsoup配合htmlunit 爬取异步加载的网页遇到的)

    最近用jsoup配合htmlunit 爬取异步加载的网页运行代码的时候,报错java.lang.NoClassDefFoundError:org/apache/commons/io/Charsets ...

  3. 使用org.apache.commons.io.FileUtils,IOUtils工具类操作文件

    转载自 使用org.apache.commons.io.FileUtils,IOUtils;工具类操作文件 File src = new File("G:/2012/portal/login ...

  4. Apache Commons IO教程:初学者指南

    Apache Commons IO是由Apache Foundation创建和维护的Java库. 它提供了许多类,使开发人员可以轻松地完成常见任务,并且减少样板代码 ,而每个项目都需要一遍又一遍地编写 ...

  5. 使用Apache Commons IO组件读取大文件

    Apache Commons IO读取文件代码如下: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new ...

  6. IO与文件读写---使用Apache commons io包提高读写效率

    [一]Apache commons IO简介 首先贴一段Apache commons IO官网上的介绍,来对这个著名的开源包有一个基本的了解: Commons IO is a library of u ...

  7. Apache Commons IO

    1.介绍 Apache Commons 项目旨在为开发人员提供一组可以在日常代码中使用的公共库. 本篇文章中将了解 Commons IO 模块的一些关键实用程序类及功能. 2.Maven依赖 要使用该 ...

  8. org.apache.commons.io——FileUtils学习笔记

    FileUtils类的应用 1.写入一个文件: 2.从文件中读取: 3.创建一个文件夹,包括文件夹: 4.复制文件和文件夹: 5.删除文件和文件夹: 6.从URL地址中获取文件: 7.通过文件过滤器和 ...

  9. Commons IO

    Common IO 是一个工具库,用来帮助开发IO功能 它包括6个主要部分 Utility classes – 包括一些静态方法来执行常用任务 Input – InputStream 和 Reader ...

最新文章

  1. 手把手教你安装Linux虚拟机
  2. NHIBERNATE
  3. mysql安装报错 1130_关于Linux编译安装会无法远程登录,报错:1130-host ... is not allowed to connect to this MySql server...
  4. Java+Oracle实现事务——JDBC事务
  5. BZOJ 3362 Navigation Nightmare 带权并查集
  6. java接收json字符串_JAVA后台接收前台传过来的json字符串并解析获得key 和value
  7. 微信小程序 解决disableScroll无法禁止小程序下拉的问题和视频铺满全屏尺寸
  8. 布局篇(2)—If you love css …
  9. HTML中不支持静态Expando的元素
  10. 《Introduction To Modern Cryptography》读书笔记一
  11. PPT到WORD的组合图片复制
  12. 集体建设用地审批程序:
  13. linux账号密码延期90天命令,Linux(CentOS)用户修改密码有效期(chage命令)
  14. Finder教程|如何自定义访达工具栏?
  15. 菜孔孔学python--字典
  16. c语言 signal作用,C语言中的signal函数
  17. Git学习————rm删除文件与文件找回
  18. 超高性价比 光纤互联解决方案良心推荐
  19. 元宇宙爆火!新风口下程序员有哪些机会?
  20. 多系统共用一个瑞星杀毒软件(转)

热门文章

  1. Nginx配置location及rewrite规则
  2. Runtime 在IOS中的详细使用
  3. 用eclipice抓取JS代码
  4. json-lib 的maven dependency
  5. 无法装载文件或者汇编的AjaxControlToolkit
  6. 面向过程与面向对象 程序设计
  7. JQuery - Animate
  8. 计算机网络数据链路层封装,计算机网络(3.3)数据链路层- 封装成帧
  9. 怎么用python画房子_怎么用python画小猪佩奇
  10. u8转完看不到菜单_填制凭证界面上的菜单看不见