美文网首页
java 遍历文件路径获取路径下的文件信息 可指定文件扩展名 返

java 遍历文件路径获取路径下的文件信息 可指定文件扩展名 返

作者: eye33 | 来源:发表于2019-06-23 11:01 被阅读0次
 /**
     * 从指定文件路径获取文件信息
     * @param path 文件路径
     * @param extName 文件扩展名 如xml
     * @param mode 模式 0-(返回key=相对classes文件夹根目录位置的文件名 value=null) 1-(返回key=绝对文件名 value=null) 2-(返回key=相对classes文件夹根目录位置的文件名  value=file对象)
     * @return 
     */
    public static Map<String, File> getDirFile(String path,String extName,int mode){
        Map<String,File> fileMap = new HashMap<String,File>();
        File targetFile= new File(path);
        File[] fileArr =targetFile.listFiles();
        String suffix = "";
        String fileName = "";
        String xmlFilePath = "";
        String relativeFilePath = "";
        int pos = 0;
        for (File file : fileArr) {
            if (file.isFile()){//若是文件
                fileName = file.getName();
                suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
                if (StringUtils.isNotBlank(extName) && !suffix.equals(extName)) {continue;}
                xmlFilePath = file.getAbsolutePath().replace("\\", "/");
                pos = xmlFilePath.toUpperCase().indexOf("WEB-INF/CLASSES/");
                relativeFilePath = xmlFilePath.substring(pos + 16);
                if (mode == 0 ) {
                    fileMap.put(relativeFilePath,null);
                }if(mode == 1 ) {
                    fileMap.put(xmlFilePath, null);
                } else if (mode == 2) {
                    fileMap.put(relativeFilePath,file);
                }
            } else if (file.isDirectory()){//若是文件夹,递归
                getDirFile(file.getAbsolutePath(),extName,mode);
            }
        }
        return fileMap;
    }

相关文章

网友评论

      本文标题:java 遍历文件路径获取路径下的文件信息 可指定文件扩展名 返

      本文链接:https://www.haomeiwen.com/subject/skdiqctx.html