效果如图:
代码如下:
比较简陋但应该能用
package com.b.api;import com.alibaba.fastjson.JSON;import java.io.File;
import java.util.ArrayList;
import java.util.List;/*** 读取文件目录生成json串*/
public class GenerateJsonByFiles {public static final String directory = "C:\\Users\\48599\\Documents\\Downloads";public int sid;public static void main(String[] args) {GenerateJsonByFiles a = new GenerateJsonByFiles();a.sss();}public void sss() {GenerateJsonByFiles a = new GenerateJsonByFiles();List<Bean> list = new ArrayList<>();
//File file = new File(directory);String[] list1 = file.list();for(String name : list1) {Bean bean = new Bean();List<Bean> childrenList = new ArrayList<>();bean = a.aaa(directory+"\\"+name, name, 0, bean, childrenList);list.add(bean);}System.out.println(JSON.toJSONString(list));}public Bean aaa(String path, String name, int pid, Bean bean, List<Bean> childrenList) {sid++;int id = sid;bean.setId(id);bean.setPid(pid);bean.setName(name);bean.setLabel(name);File file = new File(path);if(file.isDirectory()) {String[] list1 = file.list();for(String dd : list1) {List<Bean> l = new ArrayList<>();Bean sss = new Bean();sss.setId(sid);sss.setName(name);sss.setLabel(name);aaa(path+"\\"+dd, dd, sid, sss, l);sss.setPid(id);childrenList.add(sss);bean.setChildren(childrenList);}}return bean;}class Bean {private int id;private int pid;private String name;private String label;private String path;private List<Bean> children;public int getId() {return id;}public void setId(int id) {this.id = id;}public int getPid() {return pid;}public void setPid(int pid) {this.pid = pid;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getLabel() {return label;}public void setLabel(String label) {this.label = label;}public String getPath() {return path;}public void setPath(String path) {this.path = path;}public List<Bean> getChildren() {return children;}public void setChildren(List<Bean> children) {this.children = children;}}
}
再贴一下个人公众号