![]() |
1
1
如果您只是使用所有这些格式的基础知识,那么所有的解析器都是微不足道的。如果CSV是一个选项,那么对于XML和JSON,您谈论的是名称/值对块,因此甚至不涉及递归结构。org支持几乎所有的语言。 也就是说。
至于“添加列”,您对所有这些都有问题。如果添加一列,就可以重写整个文件。我也不认为这是个大问题。 如果您关心的是空间,CSV是最紧凑的,其次是JSON,然后是XML。所有生成的文件都无法轻松更新。如果数据有任何变化,它们几乎都需要重写。CSV的优点是易于附加,因为没有结束元素(如JSON和XML)。 |
![]() |
2
3
怎么样 sqlite ? 这将允许您在应用程序中基本上嵌入“DB”,但不需要单独的DB后端。 另外,如果以后使用DB后端,切换起来应该相当容易。 如果这不合适,我建议使用类似DBM的存储来查找键值,比如Berkely DB或tdb。 |
![]() |
3
0
JSON可能是您的最佳选择(它轻巧、解析速度更快,而且是自描述性的,因此您可以随着时间的推移添加新的列)。你说过parsable-你是说使用Java吗?Java有JSON库可以减轻大部分工作的痛苦。还有各种轻量级内存中数据库可以持久化到一个文件(如果“not an option”表示您不需要一个大的独立数据库) |
![]() |
4
0
如果这只是为了快速地将一些数据记录到一个文件中,我发现用制表符分隔的文件比CSV更容易解析,所以如果你要找的是一个平面文本文件,我会同意(当然,只要你的提要中没有制表符)。如果有固定大小的列,则可以使用固定长度的字段。这是更快的,因为你可以寻找。
如果它是结构化数据,并且你想对它进行任何查询。。。我会选择sqlite。 |
![]() |
5
0
当我需要这样的解决方案时,我编写了一个以长度为前缀的数据的简单表示。例如,“Hi”将表示为(十六进制)
Num of fields Field Length Data Field Length Data 02 02 48 69 03 61 62 63 也可以使用第一行作为列的名称。 (我不得不说这是一种数据库后端)。 |
![]() |
6
0
您可以使用CSV,如果您只在末尾添加列,这很容易处理。i、 e.如果列数少于预期,请使用“缺少”字段的默认值。 如果希望能够更改字段的顺序/用法,可以添加标题行。i、 第一行有列的名称。这在您尝试读取数据时非常有用。 |
![]() |
7
0
如果您被迫使用平面文件,为什么不开发自己的格式?您应该能够调整开销,并根据需要进行定制(如果您正在解析大量数据,这是很好的)。 例如(H是标题,C是列描述,D是数据输入):
|
![]() |
8
0
|
|
user29759326 · 如何返回递归函数中的最后一个值? 6 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 6 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 6 月前 |
![]() |
rudraraj · java中未声明最终变量 6 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 6 月前 |