[JAVA] Naprzemienny odczyt/zapis do tego samego pliku


(Chichotek1b) #1

Pytanie jak w temacie.

Załóżmy że plik wygląda tak:

|bajt A |bajt B|bajt C|bajt D|

Chciałbym odczytać bajt A zmienić go i zapisać w jego starym miejscu a potem tak samo z każdym kolejnymi bajtami.

Np. w trzeciej iteracji chciałbym odczytać bajt C i zapisać go na 3 miejsce.

Jednak po otwarciu obu plików w kodzie plik robi się pusty.

Znacie na to jakieś rozwiązanie? (nie licząc zapisu tymczasowego do innego pliku i przepisania go potem).

-- Dodane poniedziałek, 16 lipca 2012, 19:23 --

Wystarcza klasa RandomAcessFile i konstruktor:

RandomAccessFile raf=new RandomAccessFile("Ścieżka\\do\\naszego\\pliku","rw");

Potem już tylko metody read, seek,write i przesuwamy się do tyłu o tyle co odczytaliśmy.