文档章节

工具类-递归选择器

SunnyWu
 SunnyWu
发布于 08/20 17:26
字数 425
阅读 0
收藏 0

场景

  • 页面上传jar包
  • 后台解压jar包
  • 页面展示所有package
  • 选择一个package
  • 页面显示class和子package
    • 选择class,进入class解析页面
    • 选择package,显示class和子package

文件夹递归选择器

package com.wuxiongwei.java.jar2;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

/**
 * 文件夹递归选择器 <br>
 * @author
 * @version 1.0.0
 */
public class FolderRecursive {
    public static void main(String[] args) {
        String path = "/Users/mac/Documents/other/bw2/test/";
        List<String> resultFileName = new ArrayList<>();

//        recursiveFile(new File(path),resultFileName);

        recursiveDic(new File(path),resultFileName);
        //获取所有文件夹
        resultFileName.forEach(name -> {
            name = name.replace(path,"");
            name = name.replace("/",".");
            //文件夹格式转package
            System.out.println(name);
        });

        //选择一个package
        String temp="com.baiwang.bop.client";
        temp = temp.replace(".","/");
        //获取指定路径下所有文件和文件夹
        getFilesByPath(new File(path+temp),resultFileName);
        resultFileName.forEach(name -> {
            System.out.println(name);
        });
    }

    //递归文件夹下所有文件和文件夹
    private static List<String> recursiveFile(File file, List<String> resultFileName){
        File[] files = file.listFiles();
        if(files==null)return resultFileName;// 判断目录下是不是空的
        for (File f : files) {
            if(f.isDirectory()){// 判断是否文件夹
                resultFileName.add(f.getPath());
                recursiveFile(f,resultFileName);// 调用自身,查找子目录
            }else
                resultFileName.add(f.getPath());
        }
        return resultFileName;
    }

    //递归文件夹下所有文件夹
    private static List<String> recursiveDic(File file, List<String> resultFileName){
        File[] files = file.listFiles();
        if(files==null)return resultFileName;// 判断目录下是不是空的
        for (File f : files) {
            if(f.isDirectory()){// 判断是否文件夹
                resultFileName.add(f.getPath());
                recursiveDic(f,resultFileName);// 调用自身,查找子目录
            }
        }
        return resultFileName;
    }

    //获取指定路径下所有文件和文件夹
    public static List<String> getFilesByPath(File file, List<String> resultFileName){
        File[] files = file.listFiles();
        if(files==null)return null;
        for (File f : files) {
            resultFileName.add(f.getPath());
        }
        return resultFileName;
    }
}

本文转载自:http://wuxiongwei.com/archives/folderrecursive

SunnyWu
粉丝 12
博文 66
码字总数 11164
作品 0
苏州
架构师
私信 提问
一步步打造一个支持异步加载数据的移动端选择器

选择器在应用中是使用比较频繁的一个组件。在移动端,不同的操作系统默认的选择器存在各种差异,iOS为底部滚动的选择器,不同的Android系统,默认的选择器也是不尽相同的。同时,默认的选择器...

深海鱼在掘金
2018/10/30
0
0
FreeFileSync 10.9 发布,文件夹对比和备份工具

FreeFileSync 10.9 已发布,FreeFileSync 是一个开源的文件夹比较和同步工具,界面简洁,只需简单的设置就可以实现文件夹的比较和同步操作。 更新内容有: 添加了 FTP,SFTP,Linux 的 Goog...

段段段落
02/11
2.4K
3
从 Chrome 源码看浏览器如何计算 CSS

作者李银城,授权新前端转载 在《Effective前端6:避免页面卡顿》这篇里面介绍了浏览器渲染页面的过程: 并且《从Chrome源码看浏览器如何构建DOM树》介绍了第一步如何解析Html构建DOM树,这个...

NewFrontendWeekly
06/21
0
0
SASS 初学者入门

Sass 是什么? Sass 是Syntactically Awesome Stylesheete Sass的缩写,是由Hampton Catlin开发的。 Sass可以简化你的Css工作流,并可以使你的Css的扩展和维护工作变的更加容易! 例如,曾几...

傅小黑
2013/01/19
44.5K
25
CSS 从零开始(一)初识CSS

版权声明:转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 https://blog.csdn.net/powertoolsteam/article/details/89334612 什么是CSS CSS...

powertoolsteam
04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CSS--列表

一、列表标识项 list-style-type none:去掉标识项 disc:默认实心圆 circle:空心圆 squire:矩形 二、列表项图片 list-style-img: 取值:url(路径) 三、列表项位置 list-style-position:...

wytao1995
今天
4
0
linux 命令-文本比较comm、diff、patch

本文原创首发于公众号:编程三分钟 今天学了三个文本比较的命令分享给大家。 comm comm 命令比较相同的文本 $ cat charabc$ cat chardiffadc 比如,我有两个文件char和chardiff如上,...

编程三分钟
今天
7
0
QML教程

https://blog.csdn.net/qq_40194498/article/category/7580030 https://blog.csdn.net/LaineGates/article/details/50887765...

shzwork
今天
5
0
HA Cluster之5

对于使用heartbeat v2版的CRM配置的集群信息都是保存在一个名为cib.xml的配置文件中,存放在/var/lib/heartbeat/crm/下。CIB:Cluster Information Base,由于xml文件配置不是那么方便,所以...

lhdzw
今天
6
0
玩转Redis-Redis基础数据结构及核心命令

  《玩转Redis》系列文章主要讲述Redis的基础及中高级应用,文章基于Redis5.0.4+。本文主要讲述Redis的数据结构String,《玩转Redis-Redis基础数据结构及核心命令》相关操作命令为方便对比...

zxiaofan666
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部