写了递归取获取目录结构数据,但是文件夹河子文件夹平级了,想要树型结构的
/**
* 输出给定目录下的文件,包括子目录中的文件
*
* @param dirPath 给定的目录
*/
public Map<String, List<String>> readFiles(String dirPath, Map<String, Map> fileAndDirMap) {
// 建立当前目录中文件的File对象
File file = new File(dirPath);
// 取得代表目录中所有文件的File对象数组
File[] list = file.listFiles();
List<String> fileNameList = new ArrayList<>();
Map<String, List<String>> fileMap = new LinkedHashMap<>();
fileMap.put(dirPath, fileNameList);
for (File file1 : list) {
if (file1.isDirectory()) {
fileAndDirMap.put(dirPath, fileMap);
readFiles(file1.getPath(), fileAndDirMap);
} else {
fileNameList.add(file1.getName());
}
}
fileAndDirMap.put(dirPath, fileMap);
// 遍历file数组
return fileMap;
}