我正在寻找关于什么可能是写入/读取大型(10,000,000+)组键/值对的最有效方法的想法,每个键/值对由一个任意长度的字符串后跟一个长整数到/从一个文件组成爪哇。任何建议都非常感谢。
问问题
7373 次
3 回答
2
这就是属性 API 的用途:
http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html
请注意,有一些方法可以对 InputStreams、OuputStreams、PrintStreams 以及不同类型的 Readers 和 Writers 进行操作。
于 2012-11-02T20:59:39.390 回答
0
使用 DataInput/OutputStream 包装一个 BufferedInput/OuputStream 包装一个 FileInput/OutputStream 对我来说产生可接受的性能。感谢所有的建议。
于 2012-11-05T20:48:55.467 回答
0
假设键和值由一些分隔符分隔。
BufferedReader
使用'readLine()
方法读取整行。- 按分隔符拆分字符串并随身携带地图!
这是最简单且极其有效(如果不是最)的方式!
只是不要显式地 flush(),让 close() 方法来做吧:)
于 2012-11-02T21:05:16.343 回答