2

それぞれが任意の長さの文字列とそれに続くファイルとの間の長整数で構成されるキー/値ペアの大規模な(10,000,000以上)セットを読み書きするための最も効率的な方法についての考えを探しています。 Java。どんな提案でも大歓迎です。

4

3 に答える 3

2

これは、プロパティAPIの目的です。

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

InputStreams、OuputStreams、PrintStreams、およびさまざまな種類のリーダーとライターを操作するメソッドがあることに注意してください。

于 2012-11-02T20:59:39.390 に答える
0

キーと値が区切り文字で区切られていると仮定します。

  1. BufferedReaderreadLine()メソッドを使用して行全体を読み取ります。
  2. 文字列を区切り文字で分割し、マップを持ってください!!

これは最も簡単で非常に効率的な方法です(ほとんどではないにしても)。

commons-ioラッパーを参照してください:)

明示的にflush()しないで、close()メソッドに実行させてください:)

于 2012-11-02T21:05:16.343 に答える
0

BufferedInput/OuputStreamをラップするDataInput/OutputStreamを使用して、FileInput / OutputStreamをラップすると、許容できるパフォーマンスが得られます。すべての提案をありがとう。

于 2012-11-05T20:48:55.467 に答える