zoukankan      html  css  js  c++  java
  • java遍历文件夹找到所有get方法

    import java.io.File;
    import java.io.IOException;
    import java.util.Scanner;
    import java.util.regex.Pattern;
    import java.util.regex.Matcher;
    
    import java.io.FileOutputStream;
    import java.io.PrintWriter; 
    import java.io.PrintStream; 
    import java.io.FileNotFoundException;
    
    
    public class B {
        static int m=1;
        static void search(File a,String x) throws IOException{//在文件a中的每行中查找x
            Scanner scan = new Scanner(a,"utf-8");
            int k = 0;
            Pattern p = Pattern.compile("get[A-Z][A-Z]");
            Matcher matcher = null;
            boolean isValid = false;
    
                while(true){    
                    if(scan.hasNext()==false) break;
                    String s = scan.nextLine();
                    k++;
                    //存在get方法
                    if(s.contains(x)){
                        //匹配以get开头,后续是两个大写字母的规则
                        matcher = p.matcher(s);
                        isValid = matcher.matches();
                        if(isValid){
                            String ss =m +".文件:"+ a.getPath() + " 第" + k + "行 
      内容:" + s;
                            System.out.println(ss);
                            m++;
                        }
                    }
                } 
                Scanner scan1 = new Scanner(a,"utf-8");
                int k1 = 0;
                while(true){    
                    if(scan1.hasNext()==false) break;
                    String s1 = scan1.nextLine();            
                    k1++;
                    if(s1.contains(x)){
                        String ss1 =m +".文件:"+ a.getPath() + " 第" + k1 + "行 
      内容:" + s1;
                        System.out.println(ss1);
                        m++;
                    }
                } 
             
            
            
        }
        
        static void f(File a,String s)throws IOException{//在a下所有文件中查找含有s的行
            
            File[] ff = a.listFiles();
            if(ff==null) return;
            for(File it : ff){
                if(it.isFile()){//若a是文件,直接查找
                    search(it,s);
                }
                if(it.isDirectory()){//若a是目录,则对其目录下的目录或文件继续查找
                    f(it,s);
                }
            }        
        }
       
        public static void main(String[] args)throws IOException {
            File f=new File("e://out.txt");
            FileOutputStream fileOutputStream = new FileOutputStream(f);
            PrintStream printStream = new PrintStream(fileOutputStream);
            System.setOut(printStream);
            System.out.println("默认输出到控制台的这一句,输出到了文件 out.txt");
            f(new File("e:\myeclipse\workspace\sms\src\com")," get");
    
        }
    
    }
    

      

  • 相关阅读:
    二叉树遍历
    keras简单介绍与使用
    pandas基础使用
    如何在真机装linux(本人在台式机上又添了个硬盘)
    linux下安装kears
    Java Web 环境搭建步骤(超详细,包括前期安装步骤)
    python求范数
    随笔
    【opencv C++ linux】linux下编译含opencv的C++代码
    【论文阅读】DCAN: Deep Contour-Aware Networks for Accurate Gland Segmentation
  • 原文地址:https://www.cnblogs.com/anningkang/p/11386634.html
Copyright © 2011-2022 走看看