package fan;
import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.List;
public class FindString {
public static String path="src/"; //src相对路径
public static List<String> list=new ArrayList(); //存放.java文件名字的List
//递归方法
public static void findString(File [] dir,String find)throws Exception{
for(int i=0;i<dir.length;i++){
if(dir[i].isDirectory()){ //如果是文件夹则获取文件夹下所有文件然后再次递归
path+=dir[i].getName()+"/"; //对文件路径做+”/“处理
File file1=new File(path);
File [] dir1=file1.listFiles();
findString(dir1,find);
String [] ss=path.split("/"); //当递归return之后 文件路径减少一层
path="";
for(int j=0;j<ss.length-1;j++){
path+=ss[j]+"/";
}
}else{
FileInputStream fis=new FileInputStream(dir[i]); //如果不是文件夹则读取byte[]流
int n=(int)dir[i].length();
byte [] buffer=new byte[n];
fis.read(buffer);
String ss=new String(buffer,"UTF-8"); //编码格式UTF-8
if(ss.indexOf(find)!=-1){
list.add(path+dir[i].getName());
}
}
}
return;
}
public static void main(String [] args)throws Exception{
File file=new File(path);
File [] dir=file.listFiles();
findString(dir,"暂无图片");
System.out.println(list);
}
}
在java工程所有的.java中找到内容包含指定字符串的.java文件
最新推荐文章于 2024-05-27 09:47:49 发布