Apache Commons IO之FileUtils类操作

#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());
			}
	}
}


你可能感兴趣的:(commons,IO)