package test1; import java.io.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Author yxchun * @date 2022/11/10 15:43 * @Des **/ public class TestFile { public static List<String> all_filePath = new ArrayList<>(); public static void main(String[] args) throws Exception { String dir="C:\\Users\\jiao\\Desktop\\新建文件夹 (2)\\Log - Copy"; String targetData = "TB001"; File file = new File(dir); System.out.println("read: "+file.getName()); // // 包含了文件名 // System.out.println(file.getAbsolutePath()); if(!file.exists()){ System.out.println("文件不存在"); }else{ // 读物文件夹中的所有文件,并将文件放到list中 readParentFile(file.getAbsolutePath()); //遍历list集合 for (String path :all_filePath){ File afile = new File(path); // 查找文件内容 System.out.println("目前文件:"+readFile(afile,targetData)); } } } public static void readParentFile(String filePath) throws Exception { File file = new File(filePath); //存储文件路径 File[] filePaths = file.listFiles(); // 获取指定文件路径下文件内容 for (int i = 0; i < filePaths.length; i++) { File readFile = filePaths[i]; // 判断是否为文件 if (readFile.isFile()) { //将文件的绝对路径添加进list集合 all_filePath.add(readFile.getAbsolutePath()); } else { //继续读物文件夹 readParentFile(readFile.getAbsolutePath()); } } } // 读取文件,查找内容 public static String readFile(File path,String targetData) throws Exception { // System.out.println("read: "+path.getName()); BufferedReader fis = new BufferedReader(new FileReader(path)); String str= ""; //存在目标数据的文件名 String targetFileName=""; while ((str=fis.readLine())!=null){ // 读取文件 if(str.contains(targetData)){ // System.out.println(str); targetFileName = path.getAbsolutePath(); //读到文件后终止读取 break; }else{ // //写入文件 // write.write(str); // write.newLine(); // write.flush(); } } //关闭流 fis.close(); return targetFileName; } }
标签:文件,file,查找文件,String,文件夹,File,println,new,读取 From: https://www.cnblogs.com/ychun/p/16877644.html