Почему файл RandomAccessFile не может быть приведен к Inputstream?

Я получаю ошибку компиляции, когда я делаю это приведение:

RandomAccessFile raf = new RandomAccessFile(...)
InputStream is = (InputStream)raf;

RandomAccessFile должен подклассInputStream хотя не напрямую.

Из документов:

RandomAccessFile инвентарьDataInput которые в свою очередьDataInputstream & InputStream

Почему это недействительно?

Также оцените ваш вклад в то, что было бы правильным способом использоватьRandomAccessFile какInputStream?

Я думаю о подходе оболочки.