我正在寻找关于什么是最有效的方式来编写/读取大(10,000,000+)个键/值对的想法,每个键/值对包含一个任意长度的字符串,后跟一个长整数到/从Java中的文件。任何建议都非常赞赏。
答案 0 :(得分:2)
这就是Properties API的用途:
http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html
请注意,有些方法可以对InputStreams,OuputStreams,PrintStreams以及不同类型的读者和作者进行操作。
答案 1 :(得分:0)
假设键和值由某个分隔符分隔。
BufferedReader
的{{1}}方法读取整行。这是最容易和最有效的(如果不是大多数)方式!
See commons-io wrapper over it:)
请不要显式flush(),让close()方法执行:)
答案 2 :(得分:0)
使用DataInput / OutputStream包装一个包含FileInput / OutputStream的BufferedInput / OuputStream,可以为我提供可接受的性能。感谢您的所有建议。