SO505iでskipByte()を使用すると正常に動作しない場合がある。
別プロジェクトでこの問題が発生していたので思い出した。
プログラムソースを見ないとわからないのが辛いけど、
SO505iでしか発生しない問題が発生した場合はこれを疑ってみよう。
とは言えどこでどんな問題が発生しているか把握した上だけど。
この問題が発生した場合は他機種では正常に動作するので、
気がつかないと発見が難しい。
ちなみにCLDC1.0のヘルプには、
-------------------------------------------------------------------------------------
skipBytes
public int skipBytes(int n)
throws IOException入力ストリームから n バイトをスキップするようにして、スキップしたバイトを破棄します。ただし、n より少ないバイト数 (ゼロの場合もある) しかスキップしない場合もあります。これは、いくつかの条件のうちの 1 つに該当した場合に発生します。n バイトをスキップする前にファイルの終わりに達してしまった場合もその 1 つです。このメソッドが EOFException をスローすることはありません。スキップされた実際のバイト数が返されます。
パラメータ:
n - スキップするバイト数
戻り値:
スキップされたバイト数。常に n に等しい
例外:
EOFException - すべてのバイトをスキップする前に、このストリームの終わりに達した場合
IOException - 入出力エラーが発生した場合
-------------------------------------------------------------------------------------
スキップしない場合があると書かれてある。キケンキケン。
ある意味SO505はCLDCの仕様に忠実?(笑。