gpt4 book ai didi

java - 如何将文件夹和子文件夹列表转换为 JSOn 格式

转载 作者:行者123 更新时间:2023-11-29 09:31:57 25 4
gpt4 key购买 nike

我想在 KendoDrop Down 上使用子文件夹名称填充文件夹名称。所以我想以 JSOn 格式转换文件夹目录我该怎么做?

public class FolderPath {

public static void main(String[] args) throws IOException {
File currentDir = new File("Folder URL "); // current directory
displayDirectoryContents(currentDir);

}
public static void displayDirectoryContents(File dir) {

StringBuilder sb1 = new StringBuilder("[");
try {

File[] files = dir.listFiles();

for (File file : files) {
if (file.isDirectory()) {
sb1 = sb1.append("{\"JSONKEY\":\"" + file.getCanonicalPath() + "\"},");
String str = file.getCanonicalPath();
displayDirectoryContents(file);

} else {
}

}
sb1.deleteCharAt(sb1.length() - 1);
sb1 = sb1.append("]");
System.out.println("s2==>" + sb1);

} catch (IOException e) {
e.printStackTrace();
}
}
}

这里我没有将完整的 Directroy 导入 JSOn 请帮助

最佳答案

您将在每次迭代中创建一个 StringBuilder 对象。这就是为什么您的串联不起作用。

考虑一下 C:\test 的内容由 3 个目录组成:

c:\test
|
+--css
| +--less
+--js

下面的代码,返回:

 [{"JSONKEY":"C:\test\css"},
{"JSONKEY":"C:\test\css\less"},
{"JSONKEY":"C:\test\js"}]


import java.io.File;
import java.io.FileFilter;
import java.io.IOException;

public class FolderPath {

private static FileFilter onlyDirectories = new FileFilter() {
@Override
public boolean accept(File file) {
return file.isDirectory();
}
};

public static void main(String[] args) {
File currentDir = new File("C:\\test"); // current directory
displayDirectoryContents(currentDir);
}

public static void displayDirectoryContents(File dir) {
StringBuilder sb1 = new StringBuilder("[");
doDisplayDirectoryContents(dir, sb1);
if (sb1.length() > 1) {
sb1.deleteCharAt(sb1.length() - 1);
}
sb1.append("]");
System.out.println(sb1);
}

private static void doDisplayDirectoryContents(File dir, StringBuilder sb1) {
File[] files = dir.listFiles(onlyDirectories);

if (files != null) {
for (File file : files) {
try {
sb1.append("{\"JSONKEY\":\"" + file.getCanonicalPath() + "\"},");
doDisplayDirectoryContents(file, sb1);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}

关于java - 如何将文件夹和子文件夹列表转换为 JSOn 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31025655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com