No entiendo muy bien lo "byte nulo". ¿Te refieres a un byte con valor 0? Ése se lee exactamente igual que cualquiera de los otros 255 que puedes leer.
Yo la verdad no entiendo muy bien que es lo que quiere hacer, leer un byte nulo ubicado a la mitad de un stream??.. lo que yo haría es crear una clase en la cual describo métodos set() y get() para leer lo que esta antes y después con un RandomAccessFile.
Este problema es común. Investiga un poco acerca de byte-stuffing (cambias un byte por otro especial de escape).
Como Leer un byte nulo de un flujo binario, ya que el mismo se encuentra a la mitad del stream que deseo leer. No requiero leer información de un archivo.