Apache Commons IO

Table of Contents

1 Commons IO简介

Apache的 Commons IO 库中包含了一些IO相关的实用类,使用它们可以使你的Java代码更加简洁。

要在Maven工程中使用它,加入下面内容到pom.xml中即可。

<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

参考:
Apache Commons IO API Documentation: https://commons.apache.org/proper/commons-io/javadocs/api-release/index.html

2 FileUtils和IOUtils

这个库有很多实用的类,表 1 和表 2 分别是 FileUtils 类和 IOUtils 类中的常用方法的简单介绍。

Table 1: FileUtils类中常用方法
FileUtils类中常用方法 说明 实例
readLines 读取整个文件,按行保存在List<String>中 List<String> lines = FileUtils.readLines(new File("test.txt"), "UTF-8");
writeLines 把List<String>的内容写到文件中  
readFileToString 读取整个文件到String中 String content = FileUtils.readFileToString(new File("test.txt"), "UTF-8");
writeStringToFile 把字符串写入到文件中,文件不存在会创建它 FileUtils.writeStringToFile(new File("test.txt"), "This is file content.");
copyFile 复制文件到另一个文件,目标文件不存在会创建它 FileUtils.copyFile(new File("src.txt"), new File("dest.txt"));
copyFileToDirectory 复制文件到目录中,目标目录不存在会创建它 FileUtils.copyFileToDirectory(new File("test.txt"), new File("/tmp"));
copyURLToFile 保存URL为文件 FileUtils.copyURLToFile(new URL("http://www.baidu.com"), new File("baidu.html"));
copyDirectory 复制目录,目标目录不存在会创建它,存在则合并  
copyDirectoryToDirectory 复制目录到另一个目录下(作为它的子目录)  
cleanDirectory 清除目录中内存,不会删除目录本身  
deleteDirectory 递归地删除目录,目录不存在或者不是目录会抛异常  
deleteQuietly 删除文件或者目录(递归地),永不抛异常 FileUtils.deleteQuietly(new File("/tmp/fileOrDir"));
Table 2: IOUtils类中常用方法
IOUtils类中常用方法 说明 实例
copy 复制流  
toInputStream 字符串转为输入流 InputStream is = IOUtils.toInputStream("This is a String", "UTF-8");
toString 读取InputStream/Reader所有内容到String中 String str = IOUtils.toString(yourInputStream, "UTF-8");
toByteArray 读取InputStream/Reader所有内容到byte[]中  
readLines 读取InputStream/Reader所有内容到List<String>中  
writeLines 把Collection<?>中内容写到OutputStream/Writer  
closeQuietly 关闭流,忽略所有异常  
contentEquals 比较两个流内容是否相等  
contentEqualsIgnoreEOL 比较两个流内容是否相等,忽略换行符  

Author: cig01

Created: <2016-08-06 Sat 00:00>

Last updated: <2017-12-13 Wed 13:39>

Creator: Emacs 25.3.1 (Org mode 9.1.4)