java用递归方式获取父级目录下所有文件信息
/**
* 递归
* @param id
* @return
*/
private List<MProjectData> getChildren(int id) {
List<MProjectData> list = new ArrayList<MProjectData>();
MProjectData mProjectData = mProjectDataService.findByPrimaryKey(id);
List<MProjectData> search = search(mProjectData,list);
return search;
}
private List<MProjectData> search(MProjectData mProjectData,List<MProjectData> list){
list.add(mProjectData);
//folder 代表父级文件类型
if(mProjectData.getType().equals("folder")){
MProjectData mProjectData1 = new MProjectData();
mProjectData1.setParentId(mProjectData.getId());
List<MProjectData> treeMenu =mProjectDataService.findList(mProjectData1);
for (MProjectData tree :treeMenu) {
search(tree,list);
}
}
return list;
}
数据结构:
id pid type
1 0 folder
2 1 folder
3 2 ppt
4 2 excel
以上递归方法,通过id,可以查询出 1 文件夹下所有的目录信息。(1,2,3,4)