在Java中高效地读/写对文件的键/值对

时间:2012-11-02 20:56:36

标签: java file io

我正在寻找关于什么是最有效的方式来编写/读取大(10,000,000+)个键/值对的想法,每个键/值对包含一个任意长度的字符串,后跟一个长整数到/从Java中的文件。任何建议都非常赞赏。

3 个答案:

答案 0 :(得分:2)

这就是Properties API的用途:

http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html

请注意,有些方法可以对InputStreams,OuputStreams,PrintStreams以及不同类型的读者和作者进行操作。

答案 1 :(得分:0)

假设键和值由​​某个分隔符分隔。

  1. 使用BufferedReader的{​​{1}}方法读取整行。
  2. 用分隔符拆分字符串并随身携带地图!!
  3. 这是最容易和最有效的(如果不是大多数)方式!

    See commons-io wrapper over it:)

    请不要显式flush(),让close()方法执行:)

答案 2 :(得分:0)

使用DataInput / OutputStream包装一个包含FileInput / OutputStream的BufferedInput / OuputStream,可以为我提供可接受的性能。感谢您的所有建议。