2009-03-18 12 views
5

Jaki jest najlepszy sposób na zmianę pojedynczego bajtu w pliku przy użyciu języka Java? Wdrożyłem to na kilka sposobów. Jedna wykorzystuje całą manipulację tablicą bajtów, ale jest bardzo wrażliwa na ilość dostępnej pamięci i nie skaluje się poza 50 MB (tj. Nie mogę przydzielić 100 MB wartości bajtu [] bez otrzymania błędów OutOfMemory). Zaimplementowałam go również w inny sposób, który działa i skaluje, ale wydaje się dość hackowaty.Jak zmieniłbyś pojedynczy bajt w pliku?

Jeśli jesteś guru java io, musisz walczyć z bardzo dużymi plikami (200-500MB), jak możesz się do tego zbliżyć?

Dzięki!

+0

Szukasz tego bajtu, czy znasz już jego pozycję? –

Odpowiedz

13

Użyłbym RandomAccessFile, szukam pozycji, którą chciałem zmienić i napisałem zmianę.

6

Jeśli wszystko, co chciałem zrobić, to zmienić pojedynczy bajt, nie zadaję sobie trudu odczytania całego pliku do pamięci. Chciałbym użyć RandomAccessFile, seek do danego bajtu, write, i zamknąć plik.

Powiązane problemy