功能:获取指定目录下指定扩展名的文件的名称,并把名称打印在控制台上.(即过滤文件)。现在程序设定的获取(F:\我的下载)中的所有.rar结尾的文件,先显示出来,,即过滤其他文件
import java.io.File;
import java.util.ArrayList;
public class FileUtil {
public static File[] fileFilter(File[] files, String extension) {
// 新建ArrayList集合,用于存放过滤后的File对象
ArrayList<File> list = new ArrayList<File>();
// 遍历File[]数组
for (File file : files) {
// 将File文件转换成String类型并赋值给变量name
String name = String.valueOf(file);
// 判断name是不是以extension结尾
if (name.endsWith(extension)) {
// 如果是,将File对象添加在集合中
list.add(file);
}
}
// 将集合转换成数组
// 创建新File数组,存放过滤后的File对象
File[] newFiles = new File[list.size()];
// 返回过滤后的File数组
return newFiles = list.toArray(newFiles);
}
}
/**FileUtil测试类*/
import java.io.File;
public class FilterTest {
public static void main(String[] args) {
File[] files = new File("F:\\我的下载").listFiles();
for (File file : files) {
System.out.println(file);
}
System.out.println("---------------------------------------");
String extension = ".rar";
File[] newFiles = FileUtil.fileFilter(files, extension);
for (File file : newFiles) {
System.out.println(file);
}
}
}
|