`

使用FileUtils简化文件操作(commons-io.jar)

    博客分类:
  • java
 
阅读更多

一 引入POM:

<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.5</version>
</dependency>

 

 

二 FileUtils操作:

 

        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. 复制:

 

 

//结果是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")))

 

 参考:

http://blog.csdn.net/houfeng30920/article/details/51997368


分享到:
评论

相关推荐

    commons-fileupload-1.2.2.jar和commons-io.jar

    总的来说,`commons-fileupload-1.2.2.jar` 和 `commons-io.jar` 是Java开发中不可或缺的工具,它们大大简化了文件上传和I/O操作,提升了开发效率。在处理文件上传需求时,理解并熟练使用这两个库,能够帮助开发者...

    commons-fileupload.jar和commons-io.jar

    对于MyBatis,虽然它主要关注数据库操作,但在处理文件时,可以先利用`Commons FileUpload`和`Commons IO`将文件保存到服务器,然后再通过MyBatis的SQL语句将文件路径或其它相关信息存入数据库。 在图片处理方面,...

    commons-fileupload-1.3.jar和commons-io-1.2.jar.zip

    总的来说,Apache Commons FileUpload和Commons IO是Java Web开发中的重要工具,它们极大地简化了文件上传和文件操作的复杂性,让开发者能够更专注于业务逻辑,而不是底层的实现细节。通过理解这两个库的工作原理和...

    commons-io-1.4.jar.zip_io流jar

    1. **FileUtils**: 提供了大量静态方法来操作文件,如复制、移动、删除、比较文件等,方便且易于使用。 2. **IOUtils**: 包含了许多处理流的工具方法,比如读取流到字符串、关闭流、复制流等,可以减少代码量并提高...

    commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar

    总结来说,`commons-fileupload-1.2.1.jar`和`commons-io-1.3.2.jar`是Java Web应用中处理文件上传的必备工具,它们提供了丰富的功能和良好的性能,简化了开发流程,使开发者可以专注于业务逻辑而不是底层细节。

    Java IO commons-io-2.5.jar

    例如,要复制一个文件,使用`commons-io`库可以这样编写代码: ```java import org.apache.commons.io.FileUtils; public class FileCopyExample { public static void main(String[] args) { try { FileUtils....

    JAVAcommons-fileupload-1.4.jar和commons-io-2.6.jar

    本话题将详细讲解`JAVAcommons-fileupload-1.4.jar`和`commons-io-2.6.jar`这两个库,它们在处理文件上传和输入/输出操作时扮演着关键角色。 **Apache Commons FileUpload** `commons-fileupload-1.4.jar`是Apache...

    java文件上传jar(commons-fileupload-1.2.1.jar,commons-io-2.0.1.jar)

    5. **保存文件**:使用Commons IO的方法,如`FileUtils.copyInputStreamToFile`,将上传的文件流保存到服务器的指定位置。 在实际应用中,为了确保安全性和性能,你需要处理一些关键问题,比如: - 验证文件类型和...

    commons-fileupload.jar和commons-io-1.4.jar

    在处理上传文件时,可能需要使用到`FileUtils`或`IOUtils`等类,它们简化了与文件和流相关的操作。 使用这两个库实现文件上传的基本步骤如下: 1. 创建一个`ServletFileUpload`实例,指定一个`FileItemFactory`来...

    commons-fileupload-1.2.1.jar和commons-io-2.0.jar

    例如,`FileUtils`类提供了静态方法来便捷地操作文件,如`copyFile`、`moveFile`和`deleteQuietly`等。在处理上传文件时,我们可能需要将接收到的临时文件移动到服务器的特定目录,此时`FileUtils`就非常有用。 在...

    struts2上传文件需要的jar包 commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar

    在处理文件上传时,`commons-io`库中的`FileUtils`类可以帮助我们方便地进行文件操作,例如将上传的临时文件移动到最终存储位置。 实现Struts2文件上传的基本步骤如下: 1. **配置Struts2 Action**:首先,你需要...

    commons-io-2.4.jar包 官方免费版

    1. **文件操作**:提供了大量的静态方法来操作文件,如创建、删除、复制、移动、比较文件等。例如,`FileUtils.copyFile()`可以方便地复制文件,而`FileUtils.moveFile()`则用于移动或重命名文件。 2. **流操作**:...

    commons-io-2.5.jar和commons-fileupload-1.4.jar

    标题中的"commons-io-2.5.jar"和...总结来说,"commons-io-2.5.jar"和"commons-fileupload-1.4.jar"是Java Web开发中处理文件I/O和文件上传的关键库,它们极大地简化了相关操作,并且广泛应用于各种Web应用程序中。

    commons-io-2.3.jar

    Apache Commons IO库是Java开发者必备的工具包之一,尤其是其中的commons-io-2.3.jar版本,它为处理输入/输出流、文件、字符集转换、线程安全的读写操作等提供了大量实用且高效的类和方法。这个jar包在实际开发中...

    commons-io-2.6.jar下载

    Commons IO 是 Apache Software Foundation 开发的一个 Java 库,它的核心组件是 `commons-io-2.6.jar`。这个版本的 JAR 文件包含了丰富的输入/输出流、文件操作、I/O 流工具类以及与文件系统交互的相关功能。下面将...

    commons-fileupload-1.3.2.jar和commons-io-2.5.jar

    在文件上传过程中,Commons IO库可以用于读取、写入、复制、比较和操作文件。例如,当FileUpload将文件保存到服务器时,可能会用到Commons IO中的FileUtils类来处理文件操作。 使用这两个库进行文件上传的基本步骤...

    commons-io-2.6.jar

    本文将深入探讨`commons-io-2.6.jar`中的关键功能和使用方法。 一、文件操作 1. 文件和目录操作:Apache Commons IO提供了一系列API用于创建、删除、复制和移动文件及目录。例如,`FileUtils.copyFile()`和`...

    commons-fileupload-1.2.1.jar commons-io-1.4.jar 上传包

    总之,`commons-fileupload-1.2.1.jar`和`commons-io-1.4.jar`是实现Struts2文件上传的核心库,它们提供了文件上传的基本操作,而Struts2框架则通过其Action、配置文件和标签库实现了上传功能的集成。了解并熟练掌握...

    commons-fileupload-1.2.2.jar,commons-io-2.0.1.jar

    总的来说,"commons-fileupload-1.2.2.jar"和"commons-io-2.0.1.jar"是Java Web开发中不可或缺的工具,它们简化了文件上传这一复杂过程,让开发者可以更加高效、安全地处理客户端上传的文件。这两个库的使用,使得...

Global site tag (gtag.js) - Google Analytics