Mover Ponteiro

Fala galera tudo certo?

Bem é o seguinte eu estou lendo um arquivo byte a byte e eu preciso em uma determinada parte da leitura voltar para o inicio do arquivo. Sei que Ponteiro no Java não existe então como eu iria resolver esse meu problema?

Eu estou lendo um DataInputStream utilizando o read(byte[]);

Queria saber como eu volto para o inicio do arquivo para ler novamente… pois no layout que tenho ele pede para eu ler apartir do inicio novamente 512 bytes se eu usar i skip ele pula da onde estou mais 512 sendo que preciso que ele volte no inicio e conte 512 apartir desses 512 eu começo novamente ler o arquivo.

Para isso penso que podes usar os métodos mark() e reset().

No inicio da leitura do arquivo invocas o método mark() e quando quiseres voltar ao princípio invocas o reset() que te leva ao último mark().