我想要实现的目标非常简单。我想创建一个方法,它接受一个根目录参数作为输入,并返回以JSON数据形式呈现的输入目录下的文件夹结构。我从以下代码开始:
public class dirscan {
public static void main (String args[]) {
displayIt(new File("D:\MyDir"));
}
public static void displayIt(File node) {
System.out.println(node.getAbsoluteFile());
if (node.isDirectory()) {
String[] subNote = node.list();
for (String filename : subNote) {
displayIt(new File(node, filename));
}
}
}
}
它打印目录和文件列表。我实现了一个数组列表,并进行了以下修改;
public class DirScan {
static List<String> allList = new ArrayList<String>();
public static void main(String args[]) {
List<String> mylist = displayIt(new File("D:\Books"));
for (String filename : mylist) {
System.out.println(filename);
}
}
public static List<String> displayIt(File node) {
allList.add(node.getAbsoluteFile().toString());
if (node.isDirectory()) {
String[] subNote = node.list();
for (String filename : subNote) {
displayIt(new File(node, filename));
}
}
return allList;
}
}
它也可以做同样的事情。我的目标是将目录清单返回为JSON格式,类似于一个数组,数组内嵌套数组的解决方案。这个可行吗?