java - 是否可以使用JAVA从文本文件读取文件结构并跟踪父节点和子节点?

标签 java mysql spring file spring-mvc

假设有一个名为“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);

Content of the file

最佳答案

使用 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/

相关文章:

php - LEFT JOIN 在 PHP 中执行时非常慢

spring - 索引排序Elasticsearch

java - 如何为Spring中的每个请求添加延迟到@Async方法

java - 哪里可以学习JNI函数的用法?

php - 如何构建此查询来比较 id 与两个表?

php - 一个查询中两个表的 ORDER BY 结果

java - 使用 session bean 或在 session 中存储自定义对象?

java - 为什么使用保留 fragment 来通过配置更改来保持状态?

java - 第三次调用服务器无法从登录中找到 cookie(使用 Codenameone)

java - RestTemplate 线程安全吗?