本文最后更新于 259 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com
commons-io工具包
1.概述
commons-io是apache开源基金组织提供的一组有关IO操作的类库,可以挺提高IO功能开发的效率。commons-io工具包提供了很多有关io操作的类,见下表:
包 | 功能描述 |
---|---|
org.apache.commons.io | 有关Streams、Readers、Writers、Files的工具类 |
org.apache.commons.io.input | 输入流相关的实现类,包含Reader和InputStream |
org.apache.commons.io.output | 输出流相关的实现类,包含Writer和OutputStream |
org.apache.commons.io.serialization | 序列化相关的类 |
2.使用
步骤:
- 下载commons-io相关jar包;http://commons.apache.org/proper/commons-io/
- 把commons-io-2.6.jar包复制到指定的Module的lib目录中
- 将commons-io-2.6.jar加入到classpath中
3.常用API介绍
- commons-io提供了一个工具类 org.apache.commons.io.IOUtils,封装了大量IO读写操作的代码。其中有两个常用方法:
public static int copy(InputStream in, OutputStream out)
: 把input输入流中的内容拷贝到output输出流中,返回拷贝的字节个数(适合文件大小为2GB以下)public static long copyLarge(InputStream in, OutputStream out)
:把input输入流中的内容拷贝到output输出流中,返回拷贝的字节个数(适合文件大小为2GB以上)
文件复制案例演示:
public static void main(String[] args) throws Exception {
// 文件路径需要修改,改成自己文件的路径
File file = new File("src/test.txt");
FileInputStream is = new FileInputStream(file);
// 文件路径需要修改
File file1 = new File("src/test1.txt");
FileOutputStream os = new FileOutputStream(file1);
// 文件复制
IOUtils.copy(is, os);
}
- commons-io还提供了一个工具类org.apache.commons.io.FileUtils,封装了一些对文件操作的方法:
public static void copyFileToDirectory(final File srcFile, final File destFile)
:复制文件到另外一个目录下。public static void copyDirectoryToDirectory( file1 , file2 )
:复制file1目录到file2位置。
案例演示:
public static void main(String[] args) throws IOException {
//1.将d:\\视频.itcast文件复制到e:\\下
FileUtils.copyFileToDirectory(new File("d:\\视频.itcast"), new File("e:\\"));
//2.将"d:\\多级目录"复制到"e:\\"下。
FileUtils.copyDirectoryToDirectory(new File("d:\\多级目录"), new File("e:\\"));
}