假设我知道一种文本文件格式,
比如说,每行包含 4 个字段,如下所示:
firstword secondword thirdword fourthword firstword2 secondword2 thirdword2 fourthword2 ...
我需要将其完全读入内存
我可以使用这种方法:
open a text file while not EOF read line by line split each line by a space create a new object with four fields extracted from each line add this object to a Set
好的,但是有没有更好的东西,一个特殊的第 3 方 Java 库?
这样我们就可以预先定义每个文本行的结构并使用某些函数解析文件
thirdpartylib.setInputTextFileFormat("format.xml"); thirdpartylib.parse(Set, "pathToFile")
?
最佳答案
如果您明确知道分隔符是什么,那么您建议的方法将快速可靠,并且代码开销非常小。第三方库(谷歌“java文本文件库”以获得一长串列表)的好处是它可能有一堆代码来处理作者关心的奇怪情况。缺点是,如果您正在处理简单且可靠的文本文件格式,那么它可能会比您需要的代码更多。
自己这样做的好处是,您可以根据您的要求调整代码,包括可扩展性问题,如果您有大量数据,这很可能是一个考虑因素。通常,第三方库会完整读取文件,如果您有数百万行,这可能不切实际。
我的建议是花一个小时左右编写自己的内容,看看会得到什么结果。您可以轻松破解它。如果事实证明您有一个复杂的问题需要解决,涉及数据格式的不同特殊问题,那么就开始寻找一个库。
关于java - Java中解析固定格式的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2712709/