递归队列循环实现爬取公共服务数据字典

本文探讨了如何高效地整理应用模块中服务与数据字典的关联关系,提出了利用代码循环请求和队列递归遍历的方法,旨在解决大规模系统中手动整理的难题。

1.需求:需要把所有应用模块整理,哪些服务用了哪些数据字典
思路
A。一个个copy可能三天都不见得完成
B.请公共平台查询数据字典对应的数据库,不过可能有难度
C。代码循环请求根据根节点遍历找出所有叶子节点。(类似递归遍历某个文件夹,找出所有文件)

//利用Queue队列实现文件夹中的文件递归遍历
    public static List<File> getFileList(File file) throws IOException {
        List<File> list = new ArrayList<File>();//存放所有的文件对象集合

        Queue<File> queue = new LinkedList<File>();//queue队列:FIFO
        queue.add(file);//C:\\Users\\86159\\Desktop\\download

        while (queue.size() > 0 && queue != null) {
            File file1 = queue.poll();//弹出  //\\download
            if (file1.isDirectory()) {
                //是文件夹,遍历文件孩子子对象数组并放入队列
                File[] files2 = file1.listFiles();//\download\\user
                for (File file2 : files2) {
                    queue.add(file2);//添加到队列尾部
                }
            } else if (file1.isFile()) {
                //是文件就加入List文件对象集合
                list.add(file1);
                //System.out.println(file1.getAbsolutePath());
            }
        }
        return list;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值