一 引入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
相关推荐
对于MyBatis,虽然它主要关注数据库操作,但在处理文件时,可以先利用`Commons FileUpload`和`Commons IO`将文件保存到服务器,然后再通过MyBatis的SQL语句将文件路径或其它相关信息存入数据库。 在图片处理方面,...
总的来说,Apache Commons FileUpload和Commons IO是Java Web开发中的重要工具,它们极大地简化了文件上传和文件操作的复杂性,让开发者能够更专注于业务逻辑,而不是底层的实现细节。通过理解这两个库的工作原理和...
1. **FileUtils**: 提供了大量静态方法来操作文件,如复制、移动、删除、比较文件等,方便且易于使用。 2. **IOUtils**: 包含了许多处理流的工具方法,比如读取流到字符串、关闭流、复制流等,可以减少代码量并提高...
总结来说,`commons-fileupload-1.2.1.jar`和`commons-io-1.3.2.jar`是Java Web应用中处理文件上传的必备工具,它们提供了丰富的功能和良好的性能,简化了开发流程,使开发者可以专注于业务逻辑而不是底层细节。
例如,要复制一个文件,使用`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`这两个库,它们在处理文件上传和输入/输出操作时扮演着关键角色。 **Apache Commons FileUpload** `commons-fileupload-1.4.jar`是Apache...
5. **保存文件**:使用Commons IO的方法,如`FileUtils.copyInputStreamToFile`,将上传的文件流保存到服务器的指定位置。 在实际应用中,为了确保安全性和性能,你需要处理一些关键问题,比如: - 验证文件类型和...
在处理上传文件时,可能需要使用到`FileUtils`或`IOUtils`等类,它们简化了与文件和流相关的操作。 使用这两个库实现文件上传的基本步骤如下: 1. 创建一个`ServletFileUpload`实例,指定一个`FileItemFactory`来...
例如,`FileUtils`类提供了静态方法来便捷地操作文件,如`copyFile`、`moveFile`和`deleteQuietly`等。在处理上传文件时,我们可能需要将接收到的临时文件移动到服务器的特定目录,此时`FileUtils`就非常有用。 在...
在处理文件上传时,`commons-io`库中的`FileUtils`类可以帮助我们方便地进行文件操作,例如将上传的临时文件移动到最终存储位置。 实现Struts2文件上传的基本步骤如下: 1. **配置Struts2 Action**:首先,你需要...
1. **文件操作**:提供了大量的静态方法来操作文件,如创建、删除、复制、移动、比较文件等。例如,`FileUtils.copyFile()`可以方便地复制文件,而`FileUtils.moveFile()`则用于移动或重命名文件。 2. **流操作**:...
标题中的"commons-io-2.5.jar"和...总结来说,"commons-io-2.5.jar"和"commons-fileupload-1.4.jar"是Java Web开发中处理文件I/O和文件上传的关键库,它们极大地简化了相关操作,并且广泛应用于各种Web应用程序中。
Apache Commons IO库是Java开发者必备的工具包之一,尤其是其中的commons-io-2.3.jar版本,它为处理输入/输出流、文件、字符集转换、线程安全的读写操作等提供了大量实用且高效的类和方法。这个jar包在实际开发中...
Commons IO 是 Apache Software Foundation 开发的一个 Java 库,它的核心组件是 `commons-io-2.6.jar`。这个版本的 JAR 文件包含了丰富的输入/输出流、文件操作、I/O 流工具类以及与文件系统交互的相关功能。下面将...
在文件上传过程中,Commons IO库可以用于读取、写入、复制、比较和操作文件。例如,当FileUpload将文件保存到服务器时,可能会用到Commons IO中的FileUtils类来处理文件操作。 使用这两个库进行文件上传的基本步骤...
本文将深入探讨`commons-io-2.6.jar`中的关键功能和使用方法。 一、文件操作 1. 文件和目录操作:Apache Commons IO提供了一系列API用于创建、删除、复制和移动文件及目录。例如,`FileUtils.copyFile()`和`...
总之,`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"是Java Web开发中不可或缺的工具,它们简化了文件上传这一复杂过程,让开发者可以更加高效、安全地处理客户端上传的文件。这两个库的使用,使得...
4. 使用Commons IO的工具类进行文件的移动、复制等操作。 在使用这些库时,需要注意文件安全问题,比如防止文件覆盖、恶意文件上传、内存溢出等。同时,随着Java的发展,现代的Web框架如Spring MVC已经内置了文件...