前言
这次带来的是Apache开源组织的CommonsIO集成组件的FileUtils和IOUtils常用操作。
下载
首先应该去Apache CommonsIO下载网址将组件的压缩包下载到本地。
下载完后解压打开文件夹,这两个圈着的jar包便是需要导入到java的JVM里面的
导包
- 如何往eclipse导入jar包,可以看看百度经验的eclipse导jar包操作
- 往idea导包操作如下
1)打开项目(或者创建项目以后,点击菜单File->Project Structure)
2) 选择Modules点击要添加的项目名,在选择Dependencies,
3)点击添加,添加JAR,然后选择已经本地路径中下载好的jar包。
具体使用
打开CommonsIO的API文档,一些常用的方法如下
cleanDirectory:清空目录,但不删除目录。
contentEquals:比较两个文件的内容是否相同。
copyDirectory:将一个目录内容拷贝到另一个目录。可以通过FileFilter过滤需要拷贝的 文件。
copyFile:将一个文件拷贝到一个新的地址。
copyFileToDirectory:将一个文件拷贝到某个目录下。
copyInputStreamToFile:将一个输入流中的内容拷贝到某个文件。
deleteDirectory:删除目录。
deleteQuietly:删除文件。
listFiles:列出指定目录下的所有文件。
openInputSteam:打开指定文件的输入流。
readFileToString:将文件内容作为字符串返回。
readLines:将文件内容按行返回到一个字符串数组中。
size:返回文件或目录的大小。
write:将字符串内容直接写到文件中。
writeByteArrayToFile:将字节数组内容写到文件中。
writeLines:将容器中的元素的toString方法返回的内容依次写入文件中。
writeStringToFile:将字符串内容写到文件中。
FileUtils类
Ⅰ统计文件和文件夹的部分操作
public static void main(String[] args) throws IOException {
long len1 = FileUtils.sizeOf(new File("E:/py/小说/第一章.txt"));//获取文件大小
long len2 = FileUtils.sizeOf(new File("E:/py"));//获取整个文件夹目录的大小
//过滤,空文件不记录,递归进行遍历
Collection<File> files= FileUtils.listFiles(new File("E:/py/小说"), EmptyFileFilter.NOT_EMPTY, DirectoryFileFilter.INSTANCE);
for (File file:files) {
//遍历文件夹
System.out.println(file.getAbsolutePath());
}
//只取文件后缀名为class和txt的文件,DirectoryFileFilter.INSTANCE,方法将使用递归的形式来进行文件过滤扫描。
Collection<File> files1= FileUtils.listFiles(new File("E:/py/小说"),
FileFilterUtils.or(new SuffixFileFilter("txt"),new SuffixFileFilter("class")), DirectoryFileFilter.INSTANCE);
}