用递归的方式实现文件内容搜索(java)

来源:互联网 发布:贵族气质知乎 编辑:程序博客网 时间:2024/06/04 22:16

这是一段用JAVA写的文件搜索代码!

package FileManager;
import java.io.*;
import java.util.*;
public class FileSearch{
 String filedir;
 Vector txtcontent;
public FileSearch(String filedir){
 this.filedir=filedir;
 txtcontent=new Vector();
 txtcontent.add("BM_ACTIVE_MONTH_REPORT_M");
 txtcontent.add("BM_APPLICATION_PARAM");
 txtcontent.add("BM_APP_ROLE");
 txtcontent.add("BM_BC_ACCOUNT");
 txtcontent.add("BM_BC_CUSTOMER");
 txtcontent.add("BM_CARD_BC");
 txtcontent.add("BM_CARD_D");
 search(filedir);
}
public void search(String filename){
 
 try{
  File file=new File(filename);
  File[] filelist=file.listFiles();
  for(int i=0;i<filelist.length;i++){
  if(filelist[i].isDirectory()){
   search(filelist[i].toString());
   
  }else if(filelist[i].getName().toLowerCase().endsWith("java")){
  
   BufferedReader reader=new BufferedReader(new InputStreamReader(new FileInputStream(filelist[i])));
   String line="";
   while((line=reader.readLine())!=null){
    
    Iterator iterator=txtcontent.iterator();
    while(iterator.hasNext()){
     String temp=iterator.next().toString();
     if(line.toUpperCase().indexOf(temp.trim().toUpperCase())>-1){
      System.out.println(filelist[i].getName()+"<---->"+temp);
      break;
     }
    }
    
   }
   
   
  }
  
  }
  
 }catch(Exception e){
  e.printStackTrace();
 }
}
public static void main(String[] args){
 new FileSearch("D:////zhangw_WY5.0-0//WY5_App//Pro");
 
}

}

原创粉丝点击