package me.test;
import java.io.File;
import java.io.FilenameFilter;
/**
* 文件后缀名过滤
* 实现FilenameFilter接口的类实例可用于过滤器文件名
*/
public class FileLayoutFilter implements FilenameFilter {
//文件后缀名
private String ext;
/**
* @param condition 条件
*/
public FileLayoutFilter(String condition){
int i=condition.lastIndexOf(".");
if(i>=0){
ext=condition.toLowerCase().substring(i);
}else{
ext=condition.toLowerCase();
}
}
public boolean accept(File dir, String name) {
if(name.toLowerCase().endsWith(ext)){
return true;
}
return false;
}
}
package me.test;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
* 遍历文件夹下的所有文件包括所有子目录,把该文件夹下的所有文件的文件路径名打印出来
*/
public class Traversing {
/*
* 递归遍历
*/
public static void traversal(File file){
//文件后缀过滤
FileLayoutFilter flf=new FileLayoutFilter("zip");
//遍历指定格式的文件
File[] files1=file.listFiles(flf);
for(File f:files1){
if(f.isDirectory()){
//System.out.println(f.getAbsolutePath());
traversal(f);
}else{
System.out.println("f1="+f.getAbsolutePath());
}
}
}
public static void main(String[] args) {
Traversing traver=new Traversing();
Properties pros=new Properties();
InputStream in=traver.getClass().getResourceAsStream("/variableConfig.properties");
try {
//读取properties文件
pros.load(in);
//根据key,获得指定的value
String path=pros.getProperty("excelPath");
File file=new File(path);
//遍历此文件夹
traversal(file);
} catch (IOException e) {
e.printStackTrace();
}
}
}
variableConfig.properties
excelPath=D\:\\Soft\\kaba