Arquivos multlista em Java

Estou tentando fazer uma estrutura de arquivos multlista em Java usando o PrintWriter pra escrever e o Scanner pra ler no arquivo. O problema é que eu preciso ler e gravar no arquivo ao mesmo tempo e não estou conseguindo.
Um problema que eu tava tendo é que o “cursor” (n sei o nome certo) do PrintWriter posicionava no final do arquivo. Eu consegui ler, mas so conseguia escrever no final.
Com o argumento append do PrintWriter falso, aí o problema já é pq ele apaga tudo antes de ler!
Eu quero ler e escrever na mesma linha, depois passar pra proxima e assim por diante!
Vocês sabem alguma maneira doa de fazer isso? Eu não posso criar um arquivo auxiliar, nem salvar na memoria. A operação tem que ser toda num único arquivo!

Não sei se entendi ao certo seu problema, mas acho que a classe RandomAccessFile pode te ajudar.

http://java.sun.com/j2se/1.5.0/docs/api/java/io/RandomAccessFile.html