が負のjava.io.FileInputStream.skip(n)
ときの操作履歴についてもっと調べようとしています。InputStream のドキュメントn
によると:
n が負の場合、バイトはスキップされません。
Sun の FileInputStream の実装は、代わりにIOException をスローしていたようです。これはJavadoc にも記載されています。
n が負の場合、この場合 InputStream スーパークラスの skip メソッドは何もしませんが、IOException がスローされます。
私はそれを試してみたところFileInputStream.skip(-10)
、実際に返されたことがわかりました-10
! 例外をスローせず、0 を返さず、-10 を返しました。(Sun の Java 1.5.0_22 と Sun の Java 1.6.0_18 を試しました)。
これは既知のバグですか? なぜ修正されていないのですか、またはドキュメントがそのまま維持されているのはなぜですか? 誰かがこの問題についての議論を教えてもらえますか? 何も見つかりません。