当前位置: 首页 > 知识库问答 >
问题:

如何读取具有以下结构的文本文件并分配给对象类

焦宏硕
2023-03-14

下面提供了要阅读的文本文件-

  1. 上下文:开发
  2. 地区:亚洲
  3. 叶子:全部
  4. 项目:(这是项目列表)
  5. 名称:集线器
  6. 主题: (项目内主题列表)
  7. 数据类型:0
  8. 名称:疾病预防控制中心
  9. 计划:开发机架
  10. 数据类型:0.dlq
  11. 名称:疾病预防控制中心
  12. 计划:机架
  13. 数据类型:0
  14. 名称:原生态
  15. 计划:开发
  16. 模式:
  17. value.schema.file:-data-hub.raw.0-value-v1.json
  18. 值.format:JSON
  19. 数据类型:Produce.dlq
  20. 名称:原生态
  21. 计划:确认
  22. 模式:
  23. value.schema.file:hub.raw.0-value-v1.json
  24. 值.format:JSON
  25. 数据类型:0
  26. 名称:多姆
  27. 计划:开发
  28. 模式:
  29. value.schema.file:dom.0-value-v1.json
  30. 值.format:JSON
  31. 数据类型:Produce.dlq
  32. 名称:多姆
  33. 计划:德
  34. 模式:
  35. value.schema.file:0-value-v1.json
  36. 值.format:JSON
@Getter
@Setter
@ToString
public class Parameter {
    private String context;
    private String region;
    private String lob;
    private List<Project> topics;
}
@Getter
@Setter
@ToString
public class Project {
    private String name;
    private List<Topic> topics;
}
java prettyprint-override">@Getter
@Setter
@ToString
public class Topic {
    private String dataType;
    private String name;
    private String plan;
    private Schemas schemas;

    public boolean checkDlq(String dataType) {
        dataType = getDataType();
        if (dataType.contains("dlq")) {
            return true;
        }else
            return false;
    }
}
@Getter
@Setter
@ToString
public class Schemas {
    private Value value;
}
@Getter
@Setter
@ToString
public class Value {
    private Schema schema;
    private String format;
}
@Getter
@Setter
@ToString
public class Schema {
    private String file;
}

细节:所以我必须一行一行地阅读上面的文件,在参数类中添加所有的细节并打印出来。

示例:上下文:开发,所以我必须阅读开发部分并将其放在参数中。但没有硬编码。

我试着阅读它,但是我不知道如何应用嵌套hashMap。因为有一个项目列表,里面有一个主题列表。

编辑:读取此文件的目的是,读取后我必须将其转换为Yaml格式文件。

共有1个答案

丌官远
2023-03-14

在yaml中,您也应该有嵌套参数。因此,您应该将子参数添加到您的Parameter类中,例如:

public class Parameter {
    private String context;
    private String region;
    private String lob;
    private List<Project> topics;
    private Set<Parameter> subParameters;

}

所以在第35,36行。它们是value参数的子参数。

项目和主题是如何相互关联的?你能举个例子吗

 类似资料:
  • 在我的项目中,我有几个不同结构的存储库文件。例如: 我需要做一个函数从所有这些文件中获取值。因此,我理解我需要将xml文件位置和在该文件中查找的指定标记名传递给我的函数,可能还需要传递到该标记/字符串的xml路径。所以我想方法调用应该类似于 我知道如何读取简单的文件: 我还知道如何读取具有常量结构的嵌套文件,但我不知道如何用相同的方法读取具有不同结构的嵌套文件。

  • ...行号不在文件中。每一行都是一个5维向量,并表示k-means算法的初始聚类质心。这里我们有5个初始集群。 接下来,我们有一个必须分配给集群的数据点文件,称为data.txt,如下所示: 这里的...表示我们有很多行数据点(对于这个问题,~10000)。同样,每一行都是一个5维向量。 这都有点让人摸不着头脑。我在main()或run()函数中创建hadoop配置对象吗?我在main函数中set

  • 我使用javascript构建SVG图形,然后将其插入到网页中。我想给这个动态创建的SVG分配一个样式表(来自外部.css文件),但我看到的带有样式表的SVG的示例在SVG元素之外有样式引用。 下面是构造SVG对象的javascript: 以及以后 后来我用图形填充SVG,现在我硬编码颜色,但我宁愿给它们类,让样式表控制颜色方案。没有什么好的理由让人必须深入我的javascript才能控制颜色。

  • 我有一个源代码,它读取文本文件并存储到一个元组类型的向量中: 包含以下数据: 因此数据由空格+垂直线+空格(多重分隔符)分隔。 如何更改源代码以处理多个分隔符? 注意:如果数据仅用空格隔开,则程序可以工作。

  • 我试图通过创建一个函数来编写一个简单的文本文件阅读器,该函数接受文件的路径并将每行文本转换为char数组,但它不起作用。 这里出了什么问题? 从以前的修订版更改了一点代码后,这似乎仍然不起作用,现在它给我一个异常101。 我在Firefox上测试过这个功能,它可以工作,但在Google Chrome上它就是不工作,它一直给我一个异常101。我如何让它不仅适用于Firefox,还适用于其他浏览器(尤

  • 问题内容: 我有一个包含7000万行文本的大型测试文件。我必须逐行阅读文件。 我使用了两种不同的方法: 和 是否有另一种方法可以使此任务更快? 最好的祝福, 问题答案: 1)我确定速度没有差异,两者都在内部使用FileInputStream和缓冲 2)您可以进行测量并亲自查看 3)虽然没有性能优势,但我喜欢1.7方法 4)基于扫描仪的版本 5)这可能比其余的更快 它需要一些编码,但是由于,它确实可