« 羽の無い扇風機 | トップページ | Android 2.0 SDK で BufferedReader のバグが直ってた »

2009.10.21

En2ch レス番号がずれる問題

最近、En2ch はレス番号がずれるぞ、というのを結構見る気がする。

でも、原因は Android 側なので、どうしようもないのです。。;;

 

En2ch を作る前に日本Androidの会に書き込んだ通り、java.io.BufferedReader がおかしくて、日本語が入った数十KBのファイルを BufferedReader を使って読み込むと、どうしてもどこかで化けてしまうのです。。
(当時は 2ch は完全にテスト用に使ってただけで、twitter と facebook をまじめに調べてたはずのに。。。なぜか 2ch ブラウザしか作れなかったな。。^^;)

2ch フォーマットのセパレータ(<>)が化けると、レスの区切りが消えて繋がって見える訳で、レス番号がずれてしまいます。。。
(化けがセパレータに当たるのは10回に1回ぐらいの確率なので、再読み込みすれば、正しくなると思います。)

BufferedReader を使わずに読めば全く化けないのだけど、それだと10倍ぐらいの時間がかかるし、BufferedReader を使って化けをチェックしながら読んで、化けたら再読み込みとかすると、やっぱり数倍ぐらいの時間はかかるので、やりたくないのですよね。。。

他のブラウザは、たぶんだけど、sqlite3 に入れてるので、入れるときに BuffererdReader を使わずに入れれば、入れるときに多少時間がかかったとしても、sqlite3 からの読み込みでは全く化けずにそこそこ高速に読めるので、大丈夫なのでしょう。

En2ch は、生で dat ファイルに保存してるので、速度的に BufferedReader を使わざるを得なく、化けが発生する可能性が結構高く、セパレータが化けるとレス番号がずれてしまう、ということです。。;;

Android 1.6 でも直ってないので、2.0 を期待かな。

(←フリーソフトを作るモチベーションアップのために、ぜひ。)

|

« 羽の無い扇風機 | トップページ | Android 2.0 SDK で BufferedReader のバグが直ってた »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: En2ch レス番号がずれる問題:

« 羽の無い扇風機 | トップページ | Android 2.0 SDK で BufferedReader のバグが直ってた »