<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
其中主要的工具类有:
FileUtils:
Facilities are provided in the following areas:
writing to a file
reading from a file
make a directory including parent directories
copying files and directories
deleting files and directories
converting to and from a URL
listing files and directories by filter and extension
comparing file content
file last changed date
calculating a checksum
使用代码:
File file = new File("F:/info.txt");
FileUtils.copyToDirectory(file, new File("E:/"));
FileUtils.deleteQuietly(new File("E:/info.txt"));
List lines = FileUtils.readLines(file, "UTF-8");
//...
Collection<File> listFiles = FileUtils.listFiles(new File("F:/"), null, true);
//...
Collection<File> listFilesAndDirs = FileUtils.listFilesAndDirs(new File("F:/"), new IOFileFilter() {
@Override
public boolean accept(File dir, String name) {
return true;
}
@Override
public boolean accept(File file) {
return true;
}
}, TrueFileFilter.INSTANCE);
//...
long sizeOf = FileUtils.sizeOf(new File("F:/info.txt"));
//...
FileAlterationMonitor:
用于监听文件系统上文件的变动,使用代码:
FileAlterationObserver observer = new FileAlterationObserver(new File("F:/"));
observer.addListener(this);
FileAlterationMonitor monitor = new FileAlterationMonitor(1000);
monitor.addObserver(observer);
monitor.start();