赞
踩
文章记录了java获取指定文件夹所有文件的方法,其中用到的工具类StringUtils
源自org.apache.commons.lang
,其maven引用如下:
<!-- long3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
/** * <h1>获取指定文件夹下所有文件,不含文件夹</h1> * @param dirFilePath 文件夹路径 * @return */ public static List<File> getAllFile(String dirFilePath){ if(StringUtils.isBlank(dirFilePath)) return null; return getAllFile(new File(dirFilePath)); } /** * <h1>获取指定文件夹下所有文件,不含文件夹</h1> * @param dirFile 文件夹 * @return */ public static List<File> getAllFile(File dirFile){ // 如果文件夹不存在或着不是文件夹,则返回 null if(Objects.isNull(dirFile) || !dirFile.exists() || dirFile.isFile()) return null; File[] childrenFiles = dirFile.listFiles(); if(Objects.isNull(childrenFiles) || childrenFiles.length == 0) return null; List<File> files = new ArrayList<>(); for(File childFile : childrenFiles) { // 如果时文件,直接添加到结果集合 if(childFile.isFile()) { files.add(childFile); }else { // 如果是文件夹,则将其内部文件添加进结果集合 List<File> cFiles = getAllFile(childFile); if(Objects.isNull(cFiles) || cFiles.isEmpty()) continue; files.addAll(cFiles); } } return files; }
一中的代码是不包含文件夹的,若要包含文件夹,很容易修改一得到。
/** * <h1>获取指定文件夹下所有文件,含文件夹</h1> * @param dirFilePath 文件夹路径 * @return */ public static List<File> getAllFile(String dirFilePath){ if(StringUtils.isBlank(dirFilePath)) return null; return getAllFile(new File(dirFilePath)); } /** * <h1>获取指定文件夹下所有文件,不含文件夹</h1> * @param dirFile 文件夹 * @return */ public static List<File> getAllFile(File dirFile){ // 如果文件夹不存在或着不是文件夹,则返回 null if(Objects.isNull(dirFile) || !dirFile.exists() || dirFile.isFile()) return null; File[] childrenFiles = dirFile.listFiles(); if(Objects.isNull(childrenFiles) || childrenFiles.length == 0) return null; List<File> files = new ArrayList<>(); for(File childFile : childrenFiles) { // 如果时文件,直接添加到结果集合 if(childFile.isFile()) { files.add(childFile); }else { // 如果是文件夹。则先将其添加到结果集合,再将其内部文件添加进结果集合。 files.addAll(childFile); List<File> cFiles = getAllFile(childFile); if(Objects.isNull(cFiles) || cFiles.isEmpty()) continue; files.addAll(cFiles); } } return files; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。