假设有一个名为“test.txt”的文件,它具有以下文件结构(请参阅附图),红色表示文件夹,蓝色表示文件。现在是否可以编写一段代码来识别父节点和子节点,并以指定谁是父节点的方式为每个节点赋值?
我的数据库结构:这里的id是一个auto_increment值,其中标题可以是文件夹名或文件名(即父子节点名),parent_id是引用id的外键。
CREATE TABLE category (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
parent_id int(10) unsigned DEFAULT NULL,
PRIMARY KEY (id),
FOREIGN KEY (parent_id) REFERENCES category (id)
ON DELETE CASCADE ON UPDATE CASCADE);
最佳答案
使用 JDBC 从数据库获取标题(例如目录)按照上面评论中的建议,然后从 this 中选择其中一个选项SO 线程并在您的服务/ View 中适本地使用它。
获得标题后,只需给出提示,这就是您所需要的:
public static void main(String[] args) {
String maindirpath = "/your/main/dir/title";
System.out.println("Printing files under : " + maindirpath);
File maindir = new File(maindirpath);
if (maindir.exists() && maindir.isDirectory()) {
File arr[] = maindir.listFiles();
RecursivePrint(arr, 0);
}
}
static void RecursivePrint(File[] arr, int level) {
for (File f : arr) {
for (int i = 0; i < level; i++)
System.out.print("\t");
if (f.isFile())
System.out.println("|_ " + f.getName());
else if (f.isDirectory()) {
System.out.println("[" + f.getName() + "]");
RecursivePrint(f.listFiles(), level + 1);
}
}
}
这是一个简单的实现。希望你明白了。
关于java - 是否可以使用JAVA从文本文件读取文件结构并跟踪父节点和子节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60996534/