java小工具:通过方法体内变更代码向上找方法调用链【完善中】

package com.test.springboot.springboot_first.sec;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import ch.qos.logback.core.net.SyslogOutputStream;

public class GetApiTest implements GetUrl {
    List<String> list = new ArrayList<String>();
    List<String> list_filter = new ArrayList<String>();
    List<String> list_matched = new ArrayList<String>();
    Integer ct = 0;
    String pth = "";

    @Override
    public void getUrl() {

    }

    /**
     * 递归获取指定工程目录下的所有xx.java扩展名的文件
     * 
     * @author 
     * @return NA
     * @since 2021/9/24
     * @param dir=new File($path),其中path为给定的文件目录
     *            
     */
    public void getJavas(File dir) {
        File[] files = dir.listFiles();
        for (File file : files) {
            if (file.isDirectory()) {
                getJavas(file);
            } else {
                if ((file + "").contains(".java")) {
                    list.add(file + "");
                }
            }
        }
    }

    
    /**调用getJavas(dir)方法的牵线方法
     * @author bwx1087315
     * @param dir=new File($path),其中path为给定的文件目录
     * @return List<String> 返回过滤出的.java扩展名文件List
     * @since 2021/9/24
     */
    public List<String> getList(File dir) {
        getJavas(dir);
        return list;
    }

    
    
    
    /**根据文件名绝对路径以utf-8编码格式读取文件io,并转换为字符串
     * @author 
     * @param path: 为给定的文件的绝对路径
     * @return  String fileContent: 返回文件内容utf-8字符串
     * @since 2021/9/24
     */

    public String txt2String(String path) {
        String fileContent = "";
        try {
            final File f = new File(path);
            if (f.isFile() && f.exists()) {
                final InputStreamReader read = new InputStreamReader(new FileInputStream(f), "utf-8");
                final BufferedReader reader = new BufferedReader(read);
                String line;
                while ((line = reader.readLine()) != null) {
                    fileContent += line;
                }
                read.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return fileContent;
    }

    /**根据关键字String kd查找匹配的.java扩展名的文件
     * @author bwx1087315
     * @param String kd: 搜索关键字
     * @return  List<String> 返回过滤出的.java扩展名文件List
     * @since 2021/9/24
     */
    public List<String> getKeyWordMatchJavs(String kd) {
        if (!kd.contains("|")) {
            kd = kd + "|";
        }
        String[] st = kd.split("\\|");
        for (String pa : list) {
            String mm = txt2String(pa);
            if (st.length == 1 && mm.contains(st[0].toString())) {
                // System.out.println(pa);
                list_filter.add(pa);
            }

        }
        return list_filter;

    }

    
    /**根据关键字String kd查找匹配的.java扩展名的文件
     * @author 
     * @param String kd: 搜索关键字, List<String> lig: 过滤出来的.java文件list
     * @return  List<String> 返回过滤出的.java扩展名文件List
     * @since 2021/9/24
     */
    
    public List<String> getKeyWordMatchJavs2(String kd, List<Stri

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值