Por que um RandomAccessFile não pode ser convertido para Inputstream?

Recebo um erro de compilação quando faço este elenco:

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

RandomAccessFile é suposto subclasseInputStream embora não diretament

De documentos:

RandomAccessFile implementaDataInput que por sua vezDataInputstream & InputStream

Por que isso é inválido?

Também agradeço sua opinião sobre qual seria a maneira correta de usar oRandomAccessFile ComoInputStream?

Estou pensando na abordagem do invólucr

questionAnswers(8)

yourAnswerToTheQuestion