`
shuai1234
  • 浏览: 977702 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

使用org.apache.commons.io.FileUtils 操作文件

    博客分类:
  • java
 
阅读更多

前言:

    在工作当中我们往往遇到很多文件的操作,我们也习惯写一些自己定义的工具类来简化文件操作,其实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.写 文件/文件夹

Java代码  收藏代码
  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.读 文件/文件夹

Java代码  收藏代码
  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.删除 文件/文件夹

Java代码  收藏代码
  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.移动 文件/文件夹

Java代码  收藏代码
  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

Java代码  收藏代码
  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.其他

Java代码  收藏代码
  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")));  

 

声明:

1.原创文章,转载请标明并加本文连接。

2.文章反映个人愚见,如有异议欢迎讨论指正

3.更多的内容请看我的  个人博客(测试版)

原文:http://snkcxy.iteye.com/blog/1845862

分享到:
评论

相关推荐

    org.apache.commons.io.FileUtils

    Apache Commons IO库中的`org.apache.commons.io.FileUtils`类是一个非常实用的工具类,它提供了大量方便、高效的方法,用于处理文件系统操作。这个类在Java开发中被广泛使用,尤其是在处理大量的文件读写和管理任务...

    org.apache.commons.jar包官方免费版(附下载地址)

    解决Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils 类似错误,需要导入jar包,下载地址是http://commons.apache.org/proper/commons-io/download_io.cgi

    org.apache.commons.io 包

    `org.apache.commons.io`是这个库的核心包,包含了许多与文件、流、过滤器、读写操作相关的类和工具。 1. **文件操作**: `FileUtils` 类提供了大量的静态方法,用于执行文件和目录的操作,如复制、移动、删除、创建...

    org.apache.commons jar

    2. **Apache Commons IO**: 该模块主要关注输入/输出操作,提供文件操作、流处理、读写二进制或文本数据的工具类。例如,FileUtils 提供了文件的创建、复制、移动和删除等操作,IOUtils 可以用于读取和写入流,或者...

    org.apache.commons 全部包

    例如,`FileUtils` 提供了大量用于操作文件的静态方法,如拷贝、删除和比较文件;`IOUtils` 则包含了一些与流操作相关的方法,如读取流到字符串或写入字符串到流。 3. **Commons Collections**:这是一个用于增强 ...

    Java IO commons-io-2.5.jar

    相较于Java标准库中的`java.io.File`类提供的`copy()`方法,`commons-io`的`FileUtils.copyFile()`更简单易用,且异常处理更简洁。 总的来说,`commons-io-2.5.jar` 是Java开发者的强大工具,它极大地扩展了Java IO...

    org.apache.commons

    1. **IO**: Apache Commons IO 提供了大量与输入/输出流相关的实用工具类,如文件操作、流处理、数据转换等。例如,`FileUtils` 类提供了方便的文件操作方法,如复制、删除、移动等;`IOUtils` 类则提供了读写流的...

    commons-io-2.11.0-bin.zip

    在描述中提到的"org.apache.commons.io.FileUtils"是Apache Commons IO中的一个关键类,它提供了大量静态方法来简化文件操作,如复制、移动、删除、读写文件等。以下是一些FileUtils类中的核心功能: 1. 文件复制:...

    commons-io-2.6.jar下载

    - `FileUtils.readFileToByteArray()` 和 `FileUtils.writeByteArrayToFile()` 可以方便地将文件读入或写入字节数组,适合处理大文件时的分块操作。 10. **对象序列化与反序列化**: - `ObjectInputStream` 和 `...

    commons-io-2.11.0.rar

    1. 文件操作:提供了一系列静态方法来操作文件,如创建、删除、移动、复制和检查文件或目录。例如,`FileUtils.copyFile()` 和 `FileUtils.deleteQuietly()` 方法分别用于文件的复制和安全删除。 2. 流操作:提供了...

    org.apache.commons.io.jar

    1. 文件操作:Apache Commons IO库提供了多种操作文件的方法,如创建、删除、移动、重命名等,同时也支持批量操作。 2. 流操作:通过`IOUtils`,开发者可以轻松地复制流、读取流内容、关闭流,甚至可以实现流的缓冲...

    org.apache.commons 所有jar包 非常实用

    3. **Commons IO**: 这个库主要处理输入/输出相关的操作,包含文件操作、流处理、字符集转换等。例如,FileUtils 提供了安全的文件操作方法,IOUtils 可以方便地读写流数据。 4. **Commons Net**: 这是网络编程的...

    commons-io-2.4 包含了所有commons-io的jar包和源码

    Apache Commons IO 是一个Java库,专注于提供各种I/O操作的实用工具类,这些操作包括文件、流、过滤器、读写、转换、检测等。在本案例中,我们讨论的是"commons-io-2.4"版本,这个版本包含了完整的Apache Commons IO...

    apache.commons全套jar包下载

    1. Apache Commons IO: 这个模块专注于输入/输出操作,如文件处理、流操作、数据转换等。它提供了一系列方便实用的类和方法,比如FileUtils用于文件操作,IOUtils用于流的读写和复制,以及EndianUtils用于处理字节序...

    commons-io-2.6.jar

    例如,`FileUtils.copyFile()`和`FileUtils.moveFile()`可以方便地实现文件的复制和移动,而`DirectoryWalker`类则用于遍历目录结构,执行自定义操作。 2. 文件比较:`FileCompare`类提供了比较两个文件或两个目录...

    Apache commons-io-2.5.jar

    例如,你可以使用FileUtils.copyFile()和FileUtils.moveFile()来复制或移动文件,FileUtils.deleteQuietly()安全地删除文件,而不会抛出异常。此外,FileUtils还支持目录的操作,如创建、列举目录内容以及清空目录。...

    apache-commons所有jar包

    2. **Commons IO**: 专注于文件输入输出相关的操作,提供了一些方便的类和方法,如 FileUtils、IOUtils、FileFilter 等。 3. **Commons Collections**: 为 Java 集合框架提供了扩展,包括各种集合操作、转换和工厂...

    【Java基础】-- FileUtils工具类常用方法(csdn)————程序.pdf

    【Java基础】-- FileUtils工具类常用方法 ...总之,Apache Commons IO的FileUtils工具类为Java开发者提供了一套强大且易用的文件操作API,极大地简化了日常开发中的文件处理工作,值得在项目中广泛使用。

Global site tag (gtag.js) - Google Analytics