言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

テキストファイルに速くアクセスする方法。

やりたい事は、ある文字の組、例えば、{ や } を見つけた場所までの文字列を返すという事をしたかったのですが、next で調べた文字を比較してとやってると猛烈に時間がかかるので、PositionableStream にそういうメソッドを作ってみました。バッファを用意して、String クラスにあるプリミティブを使って検索すればかなり速い。しかしそこに落とし穴があったのです。テストで ReadStream を使ってる分には動くのに、ファイルだと動かない。実は、使いたいファイルは CRLF 形式で、position の指す場所の文字が改行分だけ CrLfFileStream では違うのでした。えー!!!。うーん。こんな場所にパワー使うのはイヤダ。。。

と、思ったらこれは無理に CrLfFileStream を使わなければ良いのか。