Java:关于数据表示的问题

Java:关于数据表示的问题,java,Java,我需要用Java解析70mb的数据,目前我有一个xml文档(1级,没有子文档),其中每个文档都有多个字段 我想知道是否应该用一个更简单的文本文件来代替它,其中每一行都是一个文档,字段用逗号分隔 这会显著提高性能吗?如果我有4GB的数据呢 谢谢如果您无法一次性将整个数据集放入内存,那么使用文本文件可能比使用XML文件更有效。在这一点上,能够逐行解析文本文件将比XML方法(我相信它会将整个文件加载到内存中)更好。 根据Robin Green的说法,如果使用DOM-SAX解析流,XML只会一次解析整个

我需要用Java解析70mb的数据,目前我有一个xml文档(1级,没有子文档),其中每个文档都有多个字段

我想知道是否应该用一个更简单的文本文件来代替它,其中每一行都是一个文档,字段用逗号分隔

这会显著提高性能吗?如果我有4GB的数据呢


谢谢

如果您无法一次性将整个数据集放入内存,那么使用文本文件可能比使用XML文件更有效。在这一点上,能够逐行解析文本文件将比XML方法(我相信它会将整个文件加载到内存中)更好。 根据Robin Green的说法,如果使用DOM-SAX解析流,XML只会一次解析整个文件

还有其他方法可以像这样保存数据:

这些数据可以在数据库中表示吗?Java可以轻松地支持大多数数据库系统,您只需安装正确的库即可



另一种选择是java属性系统。这使您可以将所有数据放在一个文件中,然后重新加载,java在加载文件时解析该文件。

您首先选择XML的原因是什么?@Oli Charlesworth不是真的。@user:如果没有迫切的理由使用XML(例如,您没有使用现有工具生成/解析它,并且您有一个合适的CSV处理库),那么就不要使用它。@Oli Charlesworth太晚了,我需要现在转换,还是不需要?@user680406:转换为FastInfo集可能会对您在保留XML的同时非常有帮助。当然,FastInfo集这样的API的存在说明了XML是多么的臃肿,但是,嘿,至少它解决了add中的编码、CR/Linefeed、空格vs tab等问题因此,是的,XML是一种臃肿的“文本”格式,被过度使用和过度使用,但它确实有一些优点。:)这是不正确的-如果使用DOM,XML解析只能一次性读取整个文件-SAX解析流将其传输。