由于程序中涉及到递归调用,因此效率会很低,打算以后再改进。
import java.io.File;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MyTest {
public static void main(String[] args) throws IOException {
String path="F:\\KuGou";
SearchFile(path);
}
/**
* @param path 扫描路径
*/
public static void SearchFile(String path){
File file=new File(path);
//如果是目录则扫描此目录中的文件
if(file.isDirectory()){
String[] fileList=file.list();
for(int i=0;i<fileList.length;i++){
path=file.getAbsoluteFile()+"\\"+fileList[i];
//如果目录中的文件还有目录,则进入再扫描
SearchFile(path);
}
}
else{
/**
* 如果想按照某种规则扫描路径可在此处处理
*
* */
//根据匹配规则输出
Pattern pattern=Pattern.compile("[卡农]");
Matcher matcher=pattern.matcher(file.getAbsolutePath());
if(matcher.find()){
//输出文件路径
System.out.println(file.getAbsolutePath());
}
}
}
}