#commons工具类FileUtils用法
##统计文件及文件夹大小
方法:sizeof(File file)
package com.commons;
import java.io.File;
import org.apache.commons.io.FileUtils;
/**
* 使用FileUtils类的sizeof(File file)方法 统计文件及文件夹大小
*/
public class IOTest01 {
public static void main(String[] args) {
//统计文件大小
long size = FileUtils.sizeOf(new File("E:/java300集/javaIO/src/com/commons/IOTest01.java"));
System.out.println(size);
//法一:统计文件夹大小
size = FileUtils.sizeOf(new File("E:/java300集/","javaIO/src"));
System.out.println(size);
//法二:统计文件夹大小
size = FileUtils.sizeOfDirectory(new File("E:/java300集/javaIO/src"));
System.out.println(size);
}
}
##打印文件的子孙级路径
方法:listFiles(directory, fileFilter, dirFilter)
package com.commons;
import java.io.File;
import java.util.Collection;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.EmptyFileFilter;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.filefilter.SuffixFileFilter;
/**
*
* 打印文件的子孙级路径
* FileUtils.listFiles(directory, fileFilter, dirFilter)
*(文件目录,文件过滤器,目录过滤器)
*
*/
public class IOTest02 {
public static void main(String[] args) {
System.out.println("第一次:");
Collection<File> files = FileUtils.listFiles(new File("E:/java300集/javaIO"),
EmptyFileFilter.NOT_EMPTY, null);//EmptyFileFilter.NOT_EMPTY :查找非空文件
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
System.out.println("第二次:");
files = FileUtils.listFiles(new File("E:/java300集/javaIO"),
EmptyFileFilter.NOT_EMPTY, DirectoryFileFilter.INSTANCE);
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
System.out.println("第三次:");
//找java后缀文件
//new SuffixFileFilter(String)后缀文件筛选器
files = FileUtils.listFiles(new File("E:/java300集/javaIO"),
new SuffixFileFilter("java"), DirectoryFileFilter.INSTANCE);
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
System.out.println("第四次:");
//找后缀为java或class的文件
//FileFilterUtils.or(new SuffixFileFilter(String))
files = FileUtils.listFiles(new File("E:/java300集\\javaIO"),
FileFilterUtils.or(new SuffixFileFilter("class"),new SuffixFileFilter("java"), EmptyFileFilter.EMPTY),
DirectoryFileFilter.INSTANCE);
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
System.out.println("第五次:");
//找后缀为java和class的文件,肯定不存在
//FileFilterUtils.and(filters)
files = FileUtils.listFiles(new File("E:\\java300集\\IO_Study04"),
FileFilterUtils.and(new SuffixFileFilter("class"),new SuffixFileFilter("java"), EmptyFileFilter.NOT_EMPTY),
DirectoryFileFilter.INSTANCE);
for (File file : files) {
System.out.println(file.getAbsolutePath());
}
}
}