I have a large data-structure which i’m serializing.At certain times i need to edit the values in the data-structure.But just for changing a small value i’ll have to re-serialize it again instead of updating the changed value in file.I’ve heard of Google protocol buffer’s.Will using it solve my problem of rewriting the file ? Is it a better option for me to use protocol buffer instead of Java serialization ?
I have a large data-structure which i’m serializing.At certain times i need to edit
Share
If you care about performance, don’t use a text format for your data. If you want to modify the data without deserializing, you’ll want to use a fixed record data format. You’ll probably have to invent this manually. Then seek to the correct position in the file and rewrite just the changed field. You might look at
DataOutputStreamto get started or instead use a database such asHSQLDBto store and edit your data.Thinking about this more, Unless your objects are very simple, I think a database would be a better way to go.
More info on DataOutputStream:
http://download.oracle.com/javase/tutorial/essential/io/datastreams.html
Java Databases:
http://java-source.net/open-source/database-engines