在Java中IO操作很常见,原始的码代码会有很多重复操作,过程很烦锁,这就需要诞生一种新技术来减少这种重复的代码操作,让程序员有更多的时间干正真有意义的事情。于是就诞生了commons-io,它是apache开源基金组织提供的一组有关IO操作的类库,可以提高IO功能开发的效率,commons-io工具包提供了很多有关io操作的类。有两个主要的类FileUtils, IOUtils。
官网地址:ApacheCommonsIO
commons-io相关API文档:点
commons-io-2.6.jar包下载地址:点(也可以直接在官网下载)
温馨提示:学完Maven就可以不用手动导包了,只需要在pom.xml中写上以下标签就可以直接使用了:
<dependency> <groupId>commons-iogroupId> <artifactId>commons-ioartifactId> <version>2.6version> dependency>
推荐阅读:一文带你快速上手项目开发神器Maven
现在就可以告别以前繁琐的IO操作了(●ˇ∀ˇ●),真快乐(O>_测试
package com.hhxy.io;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
public class Test {
public static void main(String[] args) throws Exception {
// 1、将文件A拷贝到文件B。将io1.txt文件中的内容拷贝到io2.txt文件中
IOUtils.copy(new FileInputStream("day10_io/src/io1.txt"),
new FileOutputStream("day10_io/src/io2.txt"));
// 2、将文件A拷贝到文件夹目录下。将io1.txt拷贝到“day10_io/src/”下
FileUtils.copyFileToDirectory(new File("day10_io/src/io1.txt"),
new File("D:/Test/"));
// 3、将文件夹A拷贝到文件夹目录下。测试文件夹2目录下不能存在同名文件夹
FileUtils.copyDirectoryToDirectory(new File("D:/Test/测试文件夹1"),
new File("D:/Test/测试文件夹2/"));
//JDK1.7 增加的文件复制操作。将文件io1.txt复制到io2.txt,io2.txt必须是不存在的,存在会报异常
Files.copy(Path.of("day10_io/src/io1.txt"), Path.of("day10_io/src/io2.txt"));
}
}