效果如图:
代码如下:
比较简陋但应该能用
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;
}
}
}
再贴一下个人公众号