大尺寸文件,我有以下格式的二进制文件:读/写在Java
[N bytes identifier & record length] [n1 bytes data]
[N bytes identifier & record length] [n2 bytes data]
[N bytes identifier & record length] [n3 bytes data]
,你看,我有不同长度的记录。在每条记录中,我有固定的N个字节,其中包含和编号为的数据长度为。
这个文件很大,可以包含3百万条记录。
我想要通过应用程序打开此文件并让用户浏览和编辑记录。 (插入/更新/删除记录)
我最初的计划是创建和索引文件从原始文件和每个记录,保持下一个和前一个记录地址轻松前进和后退导航。 (某种链接列表,但文件不在内存中)
是否有库(java库)来帮助我实现这个要求?
您认为有用的任何建议或经验?
-----------------编辑------------------------- ---------------------
感谢指导和建议,
一些更多的信息:
原始文件,格式是不在我的控制之下(这是第三方文件),我无法更改文件格式。但我必须阅读它,让用户浏览记录并编辑它们中的一些(插入新记录/更新现有记录/删除记录)并在末尾将其保存回原始文件格式。
你还在推荐使用DataBase而不是普通的索引文件吗?
----------------- SECOND EDIT --------------------------- -------------------
更新模式下的记录大小是固定的。这意味着更新(编辑)的记录与原始记录的长度相同,除非用户删除记录并创建另一种格式不同的记录。
非常感谢
使用数据库中的JRecord溶液才起作用。甚至连sqlite也能让你安心使用这么多的数据。 – 2011-04-01 11:17:00
似乎像向前导航已经很简单,但后向和随机访问不是。你想完成什么?您希望用户能够编辑记录,但是性能是一个问题? – JackWilson 2011-04-01 11:17:38
@JackWilson:是的,正如你所说的,向前导航很简单,但是向后是一个问题,这就是我用自定义格式思考索引文件的方法。 – mhshams 2011-04-04 02:07:02