【问题标题】:How to create a fixed length flat file in Java?如何在 Java 中创建一个固定长度的平面文件?
【发布时间】:2021-09-17 17:09:29
【问题描述】:

我目前有一个 JSON 文件,需要将其转换为每个字段长度固定的文本文件。

例如,对于 JSON

{  
    "employee": {  
        "name":       "ABC",   [length = 10]
        "salary":      1000   [length = 5]
    }  
}  

输出文本文件应该是:

ABC-------1000-

由于我是新手,是否有任何 Java 库可用于为每个字段分配固定宽度并为其创建平面文件?

【问题讨论】:

  • PrintWriter.printf()
  • 如果JSON包含很多字段怎么办?
  • 然后你会有一个很长的 printf 模式。我同意在这种情况下它不是最易读的格式,但如果你有一个单元测试并且字段大小不会经常变化,我认为这不是问题。你有多少个字段?
  • 大约 25-30 个字段。当然,我也会试试。

标签: java spring-boot flat-file


【解决方案1】:

您可以使用此http://jeyben.github.io/fixedformat4j/ 创建字符串。一旦你有了你需要的字符串,你就可以把它写到一个文件中。

您需要指定哪些字段的长度和开始位置以及应使用哪些字符进行填充。您甚至可以定义字段的对齐方式。

【讨论】:

  • 嘿,谢谢!但是 fixedformat4j 是否允许我们从 JSON 传递到字符串?因为我见过的所有示例都只使用它来解析字符串并从中创建文本。
  • 使用 fixedformat4j 可以将 java 对象解析为字符串,反之亦然。这意味着,您首先必须将 json 解析为 java 对象。如果你有这个对象,那么你可以使用 fixedformat4j 的定义从对象中生成一个字符串。对于所有相同类型的 java 对象,生成的字符串应该始终具有相同的长度
猜你喜欢
  • 2011-01-25
  • 2020-08-19
  • 2019-07-28
  • 1970-01-01
  • 2011-11-23
  • 1970-01-01
  • 2011-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多