我的Java应用程序目前使用ZIP作为项目文件格式。该项目文件包含一些XML文件和许多图像和声音文件。替代ZIP作为项目文件格式。 SQLite或其他?
项目文件变得非常大,因为我找不到用java.util.zip类写入ZIP文件而不重新创建它的方法,所以我的文件保存变得非常缓慢。例如,如果我只想更新一个XML文件,我需要重写整个ZIP。
是否有一些其他的Java ZIP库,允许我随机写入ZIP文件?
我知道切换到像SQLite这样的东西可以解决随机写入问题。使用SQLite只是将XML,声音和图像编写为blob是否合适?
我想我可以想出我自己的文件格式并使用RandomAccessFile,但随后会有很多簿记我不得不写。
更新...
我的文件格式是很像Office Open XML。它是一个包含XML和其他资源的ZIP文件。
有人必须解决如何做随机写入更新ZIP文件的问题。有谁知道如何?
“我的Java应用程序目前使用ZIP作为项目文件格式。” < - JAR文件不会更有意义吗? – Powerlord 2010-07-21 17:04:15
有没有办法随机写入与ZIP不同的JAR? – awinbra 2010-07-21 18:03:02
JAR实际上是一个ZIP +元数据。在性能方面与ZIP没有区别。 – 2010-07-21 19:30:36