2

次の構造のようなコードを Java で記述する必要があります。

Read String From File
// Perform some string processing
Write output string in file

今、ファイルとの間で文字列を読み書きするために、私は使用しています、

BufferedReader br = new BufferedReader(new FileReader("Text.txt"), 32768);
BufferedWriter out = new BufferedWriter(new FileWriter("AnotherText.txt"), 32768);

  while((line = br.readLine()) != null) {
          //perform some string processing
          out.write(output string) ;
          out.newLine();
    }

ただ、読み書きはかなり遅いようです。JAVA でファイルとの間で文字列を読み書きする最速の方法はありますか?

追加情報:

1) Read File is 144 MB.
2) I can allocate large memory (50 MB) for reading or writing.
3)I have to write it as a string, not as Byte.
4

2 に答える 2

1

必要以上に遅く聞こえます。

バッファサイズを増やしてみてください。

FileWriter の代わりに FileOutputStream を試してみてください。

あなたは50MBについて言及しました。-X スイッチを使用してプログラムを実行するときに、プログラムのメモリ パラメータを変更していませんか?

于 2012-04-18T15:02:12.653 に答える
0

パフォーマンス要件を投稿していないという事実を無視すると、次のようになります。

ファイルをバイトとして読み書きし、内部でバイトを文字/文字列に変換してみてください。

この質問は役立つかもしれません:Javaのファイルの行数

于 2012-04-18T14:54:58.527 に答える