1 使用知识点:
递归
过滤展示指定规则的文件
2 代码:
package com.bjsxt.io.file;
import java.io.File;
import java.io.FilenameFilter;
public class FileFilter {
/**
* 根据文件名特点过滤文件夹下的文件 ---> 将D:/360Downloads/HotFix 下所有的 exe文件过滤出来并打印绝对路径
* 结果:
file
-file
--file
--file
--install_flash_player_ax_KB370262.exe
--install_flash_player_ax_KB370264.exe
--Windows-KB890830-x64-V5.20.exe
--file
--file
--file
--file
*/
public static void main(String[] args) {
File file = new File("D:/360Downloads");
int level = 0;
listFile(file,level);
}
private static void listFile(File file,int level) {
for(int i=0; i<level; i++){
System.out.print("-") ;
}
if(file.isFile() && file.getName().endsWith(".exe")){
System.out.println(file.getName());
}else {
System.out.println("file");
}
//System.out.println(file.getName());
if(file.isDirectory()) {
File[] files = file.listFiles();
for(File temp: files){
listFile(temp, level+1);
}
}
}
}