Java遍歷資料夾&判斷是否存在某一型別的檔案
阿新 • • 發佈:2019-01-26
大致思路就是使用File.list()來獲取所要遍歷的資料夾的子檔名,然後通過遞迴實現子資料夾的遍歷,最終達到遍歷整個資料夾的目的,並在遍歷過程中通過獲得的檔名字尾來判斷檔案型別。但是因為遞迴,在時間複雜度上會很捉急就是了…
程式碼很簡單
package fileTest;
import java.io.File;
public class FileSearch {
public static void main(String[] args) {
// TODO Auto-generated method stub
FileSearch fileSearch=new FileSearch();
fileSearch.ReadFile("D:\\pic");
}
public void ReadFile(String filePath){
File file=new File(filePath);
if(!file.isDirectory()){
//file不是資料夾
System.out.println(file.getName()+" is not a folder");
}else{
traversalFile(filePath,"-" );
}
}
public void traversalFile(String filePath,String str){
File file=new File(filePath);
String[] fileList =file.list();
System.out.println(str+file.getName());
for(String fileName:fileList){
String chileFilePath=filePath+"\\"+fileName;
File chilefile=new File(chileFilePath);
if(chilefile.isDirectory()){
traversalFile(chileFilePath,str+"-");
}else{
System.out.println(str+"-"+fileName+" "+checkPNG(fileName));
}
}
}
public Boolean checkPNG(String fileName){
//“.”和“|”都是轉義字元,必須得加"\\"
String[] str=fileName.split("\\.");
String suffix=str[1];
if("png".equals(suffix)){
return true;
}else{
return false;
}
}
//.......
}