我需要使用 Java 解析 70mb 数据,并且当前有一个 xml 文档(1 级,无子级),其中每个文档都有多个字段。
我想知道是否应该用一个更简单的文本文件替换它,其中每一行都是一个文档,并且字段以逗号分隔。
这会显着提高性能吗?例如,如果我有 4GB 数据怎么办?
谢谢
最佳答案
如果您无法一次将整个数据集装入内存,那么使用文本文件可能比 XML 文件更有效。此时,能够逐行解析文本文件会比 XML 方法 (我相信将整个文件加载到内存中)更好。
根据 Robin Green 的说法,如果您使用 DOM - SAX 解析流,XML 只会一次解析整个文件。
还有其他方法可以保存这样的数据:
<强> Database
这些数据可以在数据库中表示吗? Java 可以轻松支持大多数数据库系统,您只需安装正确的库即可。
<强> Java Properties
另一种选择是 java 属性系统。这使您可以将所有数据放在一个文件中,然后将它们加载回来,并且 java 在加载文件时解析该文件。
关于Java:关于数据表示的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5694604/