地对地导弹

package pkg;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Find {
  //所要查询的被调用的类;
  private String  stringToFind="com.ebao.life.report.domain.db.DBean;";
 //调用模块;
  private String  modueName=""; 
 
  private String  tempStr=null;
 
 //某一目录下是否调用了stringToFind
 public void  findInDir(File dir)
 {
 File files[];
 int i=0;
 String temp1="",temp2="";
 //depth++;

  files=dir.listFiles(); 
  for(i=0;i<files.length;i++)
  {     
 if(files[i].isDirectory())
   {
 /*if(depth==2&&(!files[i].getName().trim().equals("java"))&&(!files[i].getName().trim().equals("test")))
   {
 //System.out.println(files[i].getName().trim());
  continue;
  }*/
   findInDir(files[i]);   
   }  
  else
   {
   temp1=files[i].getName().toString().trim();
   temp2=temp1.substring(temp1.lastIndexOf(".")+1, temp1.length()).toLowerCase();
   if("java".equals(temp2))
   {
    findInFile(files[i]);
   }
   }
   }     
  }
 
 
 
 //在某一文件中查找是否调用了stringToFind
 private void findInFile(File file)
 {
  int line=0,i;  
  BufferedReader reader=null;
  String  arrayStr[],temp[];
  String modueStr=null;
  File f=new File("D:\\result.txt");
 
  try
  {
   reader=new BufferedReader(new FileReader(file));
   while((tempStr=reader.readLine())!=null)
   {
    tempStr=tempStr.trim();
    arrayStr=tempStr.split(" ");
    line++; 
    if(arrayStr[0].equals("import"))
    {
    for(i=1;i<arrayStr.length;i++)
    {
    if(arrayStr[i].equals(""))
     continue;
    else    
     {
     modueStr=arrayStr[i];      
     break;
    }    
    }
    }
   
    if((arrayStr[0].trim().equals("import"))&&(modueStr.equals(stringToFind)))
    {
     temp=file.getPath().toString().trim().split("\\\\");
     for(i=0;i<temp.length;i++)
     {
      if(temp[i].equals("life_code")&&(temp.length-2>=i))
      {
     modueName=temp[i+1];      
      }
     }
     
     System.out.println("\n\n");
     System.out.println("调用模块:"+modueName+"\n");
     System.out.println("文件名:"+file.getName()+"\n");
     System.out.println("文件路径:"+file.getPath().toString()+"\n");
     System.out.println("第"+line+"行"+"\n");
     System.out.println("\n");
     FileWriter fw =new FileWriter(f,true);
     fw.write("调用模块:"+modueName+"\r\n");
     fw.write("文件名:"+file.getName()+"\r\n");
     fw.write("文件路径:"+file.getPath().toString()+"\r\n");
     fw.write("第"+line+"行"+"\r\n");
     fw.write("\r\n\r\n");
     fw.flush();
     fw.close();
    }  
   }
   reader.close();
  }
  catch(IOException ie){
   ie.printStackTrace();  
  }
  finally
  {
   if(reader!=null)
   {
    try
    {
     reader.close();
    }
    catch(IOException ie)
    {
     ie.printStackTrace();
    }
   }
  
  }
 
 }
 
 }


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ryb123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值