ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Bufferクラスの使い方

2009-01-16 05:29:28 | PG(Java)

文字コード変換の実装を調べていてCharsetDecoderというものが出てきたので使ってみようと思ったら、Bufferクラスも出てきた。
ファイルチャネルの使い方を勉強したときにBuffer(ByteBuffer)クラスの存在だけは覚えていたけれど、いまいち使い方が分かってなかった。
今回改めて試してみて、ようやく使い方が分かった!気がする。要するに、使用方法がかなり限定されているんだな。
(少なくとも、StringBuffer(StringBuilder)のような使い方をするものではないようだ)

メソッドを呼び出すタイミング(利用状態)がほぼ決まっているのと、メソッドを呼び出した後に利用状態が変わるのがポイント。

  • 使用タイミング:書込中か読込中か
  • 状態の変更(書込→読込、読込→書込)

バッファーを現在どちらの状態で使っているのか意識してないといけないのが分かりづらい…。同じメソッドでも、読み取り中か書き込み中かに応じて意味が変わったりするし。