`

转-使用FileUtils简化你的文件操作

 
阅读更多
原文: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.写 文件/文件夹

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.更多的内容请看我的  个人博客(测试版)

分享到:
评论

相关推荐

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

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

    FileUtils java web 文件上传下载工具

    总结,`FileUtils`是Apache Commons IO库的一个强大工具,能够简化Java Web应用中的文件操作,包括上传和下载。通过引入这个库,你可以高效地处理文件上传的保存和文件下载的发送,从而提升开发效率和代码质量。结合...

    jdk6.0从入门到精通-----chapter4--文件目录操作

    - `FileUtils`是Apache Commons IO库的一部分,提供了很多便捷的文件操作方法,如复制、删除、比较等。 - `Files.copy()`, `Files.move()`, `Files.delete()`等方法简化了文件和目录的移动和删除操作。 通过以上...

    org.apache.commons.io.FileUtils

    `FileUtils`类的这些方法大大简化了日常的文件操作,提高了代码的可读性和可维护性。在实际项目中,通过合理使用这些方法,我们可以避免很多文件操作上的繁琐细节,让代码更加简洁高效。使用Apache Commons IO库,...

    FileUtils 的方法大全

    本文将详细介绍 `FileUtils` 类中提供的各种文件操作方法,这些方法在 Java 开发中非常实用,能够帮助开发者高效地完成文件处理任务。 #### 一、获取系统的临时目录路径 **方法名**: `getTempDirectoryPath` **...

    pd-fileutils.parser

    "pd-fileutils"这个名字暗示了它可能与Pandas库(Python的一个流行数据分析库)的文件操作有关,尽管实际实现是在JavaScript环境下,可能是为了在Web端或者Node.js环境中提供类似的功能。 JavaScript作为一门广泛...

    java文件操作

    Apache Commons IO是一个非常实用的库,它为Java开发者提供了大量的工具类和方法,以简化文件操作。在这个场景中,我们关注的是Apache Commons IO中的`FileUtils`类,它包含了丰富的静态方法,用于执行各种文件操作...

    java的IO流的工具包:作用:复制单个文件(文件对文件)/ 复制目录或文件(多个文件)

    - 由第三方研发的工具类 - 要使用commons-io工具包,就需要先从第三方下载该工具包 - 在当前项目工程下,导入commons-io工具包(借鉴之前使用过的logback) ...commons-io可以简化IO复制文件的操作

    java 文件操作

    - Apache Commons IO库提供了丰富的文件操作工具类,如`FileUtils`,简化了常见的文件操作。 10. **异常处理**: - 文件操作常涉及`IOException`,需妥善处理,例如使用try-catch-finally结构。 以上就是Java...

    文件操作及所需jar

    例如,Apache Commons IO库提供了许多方便的文件操作工具类,如`org.apache.commons.io.FileUtils`,可以简化很多常见任务。 在实际开发中,我们可能还会遇到多线程环境下的文件操作,这时需要考虑同步问题,防止多...

    一个文件操作类。

    在Java中,此类可能扩展自`java.io.File`或者提供更高级别的抽象来简化文件操作。 描述中的“NULL”意味着没有额外的信息给出,但我们可以通过常规的理解来推测,这个博客文章可能详细解释了如何使用一个特定的文件...

    Java IO commons-io-2.5.jar

    例如,`copyFile()` 和 `moveFile()` 方法简化了文件操作,避免了异常处理的复杂性。 2. 目录操作:`DirectoryWalker` 和 `FileUtils` 类支持目录遍历、创建和删除。`ListFileFilter` 和 `AndFileFilter` 等过滤器类...

    commons-io-2.6.jar下载

    这个版本的 JAR 文件包含了丰富的输入/输出流、文件操作、I/O 流工具类以及与文件系统交互的相关功能。下面将详细介绍 `commons-io-2.6.jar` 中的关键知识点。 1. **基本文件操作**: - `FileUtils` 类提供了大量...

    commons-io-2.7-bin.zip

    - 根据具体需求,选择合适的类和方法进行I/O操作,例如使用`FileUtils`进行文件操作,`IOUtils`进行流操作等。 5. **示例代码** - 复制文件: ```java File src = new File("source.txt"); File dest = new ...

    commons-fileupload文件上传实例代码

    在Java Web开发中,文件上传是一项常见的功能,Apache Commons...这个库极大地简化了文件上传操作,同时提供了足够的灵活性以适应各种需求。在实际项目中,结合其他验证和安全措施,可以构建安全、高效的文件上传功能。

    [史上最全] 文件处理工具类 java版 处理文件流, 文件目录递归等

    `FileUtils` 是一个强大的文件处理工具类,它提供了丰富的API来简化文件操作,避免了许多常见的错误和陷阱。通过使用该工具类,开发者可以更加专注于业务逻辑的实现,提高开发效率和代码质量。在实际项目中,强烈...

    java上传文件jar

    这两个库提供了强大的文件操作和文件上传功能,是Java开发者处理文件上传问题的得力助手。 首先,`commons-io-2.5.jar`是Apache Commons IO库的一部分,这是一个用于处理输入/输出操作的Java库。它提供了许多实用...

    文件-AES-MD5-Upload-Minio工具类.zip

    在Web开发中,这样的工具类能简化文件上传功能的实现,提高代码的复用性和可维护性。 FileUtil则是一个通用的文件操作工具类,可能包含读写文件、创建、删除、移动文件或目录等常用方法。在Java或许多其他编程语言...

    java 操作文件通用方法集合

    这些方法不仅简化了文件操作的复杂性,也提高了代码的健壮性和可维护性。在实际开发中,合理利用此类封装,可以显著提升编程效率和代码质量。 此外,值得注意的是,对于文件操作,特别是流的管理,异常处理至关重要...

    文件操作

    在“工具”方面,开发者经常会使用各种库或框架来简化文件操作。例如,Apache Commons IO库提供了许多实用的工具方法,如FileUtils.copyFile()可以方便地完成文件复制,IOUtils.copy()可以轻松实现流之间的数据传输...

Global site tag (gtag.js) - Google Analytics