Как вы можете себе представить, чтение в обратном направлении - это не обычное дело, и вам придется сделать что-то странное.
Но вы можете поместить индекс в файл самостоятельно.Если вы это сделаете, поместите его в конец, прочитаете байт, затем поместите его в (конец-1), прочитаете байт и т. Д., У вас все получится.
Это будет ужасно медленно,поэтому то, что вы делаете, читает как можно больше в буфер, начиная с конца, затем проходит через буфер назад, затем снова заполняет буфер.
Этот урок расскажет вам все оОперации ввода-вывода с произвольным доступом в Java.