Como faço para alterar as informações de um arquivo de streams binários?

Boa noite,

Estou criando uma aplicação que necessita criar e alterar arquivos de streams binários.
Não encontrei problemas para implementar a cração deles. Como um simples exemplos, criei um metodo que armazena valores do tipo double em um arquivo. Mas encontrei problemas na hora que necessito incluir ou outro valor em alguma posição do arquivo ou até mesmo alterar alguma valor.
Segue abaixo um exemplo do código que usei para criar o arquivo:

File f = new File("c:/teste.txt");

FileOutputStream out = new FileOutputStream(f);
DataOutputStream data = new DataOutputStream(out);

ByteBuffer buffer = ByteBuffer.allocate(8);

buffer.putDouble(12.56);
out.write(buffer.array());
buffer.clear();

buffer.putDouble(29.45);
out.write(buffer.array());
buffer.clear();

buffer.putDouble(19.06);
out.write(buffer.array());
buffer.clear();

data.close();
out.close();

Alguém saberia me dizer como faço para alterar algum deste valores e como incluir algum outro valor em qualquer posição neste arquivo ?

Obrigado.