- ベストアンサー
文字列編集時の領域使用について
例えば1万行データファイルを行単位で読み込み、読み込んだ行を編集して出力データファイルを作成するような処理で、1行読み込み、編集して1行出力する方法か、ある程度の行を処理してから出力するか迷っています。編集したデータはStringBufferにappendする方法を考えています。StringBufferにヒープを超過しないようappendしたいので1行ずつが無難でしょうか?ちなみに、編集結果を出力した後、StringBufferを使いまわす(初期化??)には、一旦nullを変数に代入すればよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
それはどういった編集をするのかによって変わりますね。1行づつ読んで1行づつ出力するという方法でもできるならそちらの方がメモリを食わなくていいんじゃないでしょうか(但し BufferedReader のようにバッファリングした入出力を使わないと効率が下がります)。 StringBuffer のインスタンスを使いまわすには setLength(0) とすればいいと思います。毎回 new するのは多分時間が掛かります。
その他の回答 (1)
- guineness
- ベストアンサー率36% (14/38)
回答No.1
BufferdOutputStremを使う方法が一番性能が良くなると 思います。 ですので、StringBufferを使う必要も無いでしょう。