zoukankan      html  css  js  c++  java
  • [javaSE] java获取文件列表

    递归测试

    import java.io.File;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class FilesDemo {
        private static final String FILE_PATH = "./";
        private static List<Map<String, String>> FileList;
    
        public static void main(String[] args) {
            listFiles(new File(FILE_PATH), 1);
            // for(Map<String,String> item:FileList){
            // System.out.println("{name:"+item.get("name")+",level:"+item.get("level")+"}");
            // }
        }
    
        public static void listFiles(File file, int level) {
            FileList = new ArrayList<>();
            Map<String, String> item;
            File[] files = file.listFiles();
            if (file.list().length != 0) {
                for (File fileTemp : files) {
                    String fileName = fileTemp.getName();
                    System.out.println(getLevelPrefix(level) + fileName);
    
                    if (fileTemp.isDirectory() && fileTemp.list().length > 0) {
                        listFiles(fileTemp, level + 1);
                    } else {
                        item = new HashMap<String, String>();
                        item.put("name", fileTemp.getName());
                        item.put("level", String.valueOf(level));
    
                        FileList.add(item);
                    }
                }
            } else {
                System.out.println(getLevelPrefix(level) + file.getName());
            }
    
        }
    
        public static String getLevelPrefix(int level) {
            StringBuilder sb = new StringBuilder();
            for (int i = 1; i < level; i++) {
                sb.append("    ");
            }
            sb.append("|--");
            return sb.toString();
        }
    }
  • 相关阅读:
    2020/1/27 代码审计学习-宽字节注入与二次注入
    2020/1/27代码审计学习之SQL注入漏洞
    2020/1/27代码审计学习之审计涉及的超全局变量
    2019总结与最近
    鸽一天
    [极客大挑战 2019]Knife
    [LuoguP1438]无聊的数列(差分+线段树/树状数组)
    [BJWC2018]最长上升子序列
    笙上月
    笔下梅
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5738944.html
Copyright © 2011-2022 走看看