@Test
public void fileTest() {
List<String> list = new ArrayList<>();
FileTool.getFileloders("D:/workspace/images/", "D:/workspace/images/", list);
System.out.println(list);
}
/**FileTool工具类下定义
* 获取某个路径下,里面所包含的文件夹
* @param pathname 某个路径
* @param str 某个路径 为单独只获取文件夹做服务
* @param list 拿取该文件夹的集合
*/
public static void getFileloders(String pathname, String str, List<String> list) {
//先将指定路径下的所有文件实例化
File file = new File(pathname);
//判断实例化的对象file是否存在,即指定路径是否存在
if (!file.exists()) {
//若file不存在,则抛出异常
throw new IllegalArgumentException("目录" + pathname + "不存在");
}
//若文件存在,则将所有文件的实例化对象转化为数组形式
File[] files = file.listFiles();
//遍历文件数组
for (File file2 : files) {
//如果从数组中拿出来的值是File是文件类型,就直接先打印路径下所有的文件/文件夹的路径名称
System.out.println(file2);
//如果想拿出来的File是文件夹类型,利用递归的思想
if (file2.isDirectory()) {
//只拿取文件夹名称 不拿取全路径
String floders=file2.getPath().substring(str.length(),file2.getPath().length());
//将 yyr\yy 替换成 yyr/yy
list.add(floders.replaceAll("\\\\","/"));
getFileloders(file2.getAbsolutePath(),str,list);
}
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190409100955757.png)