zoukankan      html  css  js  c++  java
  • java通过文件路径读取该路径下的所有文件并将其放入list中

    需求:所有xml文件都放在某个目录下,写个方法读取所有xml文件,然后传给下面的某个方法调用

    实现:先把所有的xml文件通过递归读取出来 ,存放到List中,然后以文件名为Key,文件(文件路径+文件名)为Value,存放到Map中,供后面程序调用

    代码如下:

    import java.io.File;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class ListXmlFiles {
        /**
         * 获取所有XML文件
         * @param path 文件路径
         * @param fileList 存放所有XML文件的列表
         */
    
        public void getXmlFiles(String path, List<File> fileList) {
            File file = new File(path);
            File[] files = file.listFiles();
            for (File fileIndex : files) {
                if (!fileIndex.exists()) {
                    throw new NullPointerException("Cannot find " + fileIndex);
                } else if (fileIndex.isFile()) {
                    fileList.add(fileIndex);
                } else {
                    if (fileIndex.isDirectory()) {
                        getXmlFiles(fileIndex.getAbsolutePath(), fileList);
                    }
                }
            }
        }
    
        public static void main(String[] args) {
            //声明一个HashMap,用于存放XML文件,格式:<文件名,文件>,以文件名为KEY,可以得到整个文件所在的路径和文件名
            Map<String, String> xmlMap = new HashMap<>();
            ListXmlFiles lxf = new ListXmlFiles();
            //存放xml文件的根目录
            String filePath = System.getProperty("user.dir") + "\element";
            //声明一个List,用于存放所有得到的XML文件
            List<File> fileList = new ArrayList<>();
            lxf.getXmlFiles(filePath, fileList);
            for (File f : fileList) {
                System.out.println(f);
                //把每个文件存放到HashMap中
                xmlMap.put(f.getName(),f.getAbsolutePath());
            }
            System.out.println(xmlMap);
        }
    }

    执行结果:

    D:UIAutoTestUIdemoelementaa1.xml
    D:UIAutoTestUIdemoelementaa2.xml
    D:UIAutoTestUIdemoelement1.xml
    D:UIAutoTestUIdemoelementb2.xml
    D:UIAutoTestUIdemoelementbbb3.xml
    D:UIAutoTestUIdemoelementbbbbbb4.xml
    D:UIAutoTestUIdemoelementbbbbbb5.xml
    D:UIAutoTestUIdemoelementbbbbbbbbbbLoginPage.xml
    D:UIAutoTestUIdemoelementc.xml
    {b5.xml=D:UIAutoTestUIdemoelementbbbbbb5.xml,
    b4.xml=D:UIAutoTestUIdemoelementbbbbbb4.xml,
    c.xml=D:UIAutoTestUIdemoelementc.xml,
    a1.xml=D:UIAutoTestUIdemoelementaa1.xml,
    a2.xml=D:UIAutoTestUIdemoelementaa2.xml,
    b3.xml=D:UIAutoTestUIdemoelementbbb3.xml,
    LoginPage.xml=D:UIAutoTestUIdemoelementbbbbbbbbbbLoginPage.xml,
    b2.xml=D:UIAutoTestUIdemoelementb2.xml,
    b1.xml=D:UIAutoTestUIdemoelement1.xml} Process finished with exit code 0

      

  • 相关阅读:
    SDUT 2143 图结构练习——最短路径 SPFA模板,方便以后用。。 Anti
    SDUT ACM 1002 Biorhythms 中国剩余定理 Anti
    nyist OJ 119 士兵杀敌(三) RMQ问题 Anti
    SDUT ACM 2157 Greatest Number Anti
    SDUT ACM 2622 最短路径 二维SPFA启蒙题。。 Anti
    二叉索引树 区间信息的维护与查询 Anti
    SDUT ACM 2600 子节点计数 Anti
    UVA 1428 Ping pong 二叉索引树标准用法 Anti
    2010圣诞Google首页效果
    Object
  • 原文地址:https://www.cnblogs.com/janson071/p/10065180.html
Copyright © 2011-2022 走看看