O seu programa escreve depois da última linha, conforme você pode comprovar rodando seu programa.
denisspitfire
ok… mas…
como escrever na primeira?
Vini_Fernandes
Cara, dê uma estudada na classe RandomAccessFile e no metodo seek(int). Ela permite que voce percorra diferentes linhas do arquivo. Veja o exemplo;
try{Filef=newFile("c:\\tmp\\teste.txt"); RandomAccessFile raf = new RandomAccessFile(f, "rw"); // Seek to end of file raf.seek(f.length()); // Append to the end raf.writeBytes("aString");raf.close();}catch(IOExceptione){}
abrss
denisspitfire
vlw!
E
entanglement
No tempo dos mainframes, onde as linhas de um arquivo-texto tinham todas 80 caracteres (LRECL (80) para quem se lembra dessa terminologia de mainframes ) daria para fazer isso (posicionar no byte número 0 de um arquivo e escrever por cima de N posições.)
Como você provavelmente vai perceber, se as linhas tiverem comprimentos diferentes, RandomAccessFile não resolve seu problema.
E
entanglement
A resposta, infelizmente, é a seguinte: se seu arquivo tem linhas de tamanhos diferentes, você deve criar um novo arquivo - texto, contendo o conteúdo desejado, já que você não pode “escrever na primeira linha” diretamente, só depois da última linha.