Serializcja i dopisywanie na koniec pliku

0

Witam !
Jak zapisać obiekt na końcu pliku, bez przepisywania tego pliku?
Problem jest taki że mam duży plik ok 200 MB i chcę dopisać do niego obiekt za pomocą metody writeObject(Object o) - oczywiście implementuje Serializable, ze względu na to że zapisuje tam różne obiekty nie mogę użyć klasy RandomAccessFile (która nadaje sie do danych o znanym rozmiarze zapisywanego rekordu). Oczywiście głupio by było przepisywać tak duży plik jescze raz aby zapisać tam kilka bajtów.
Jak rozwiązuje się taki problem w optymalny i elegancki sposób ?

0

A może prosta baza danych w HSQLDB? Obiekty można sobie wtedy zapisywać za pomocą JPA lub w SQLu jak lubisz się bawić i nie masz już takich problemów. Całość śmiga w Javie i nie wymaga instalowania żadnego serwera SQL.

0

Jesli chcesz koniecznie pliki, to mozesz zrobic tak ze utworzysz sobie output stream w pamieci, do niego bedzie zapisywac ObjectOutputStream. teraz juz masz gotowe serializowane bajty, wiec za pomoca randomaccessfile przewijasz duzy plik na koniec, pobierasz tablice bajtow z output stream w pamieci, i zapisujesz te najty. voila!

0

faktycznie... zamiana na bajty.
THX !

1 użytkowników online, w tym zalogowanych: 0, gości: 1