2009-03-18 14 views
5

Qual è il modo migliore per modificare un singolo byte in un file utilizzando Java? L'ho implementato in diversi modi. Uno usa tutta la manipolazione dell'array di byte, ma questo è molto sensibile alla quantità di memoria disponibile e non supera i 50 MB circa (cioè non posso allocare 100 MB di byte [] senza ottenere errori OutOfMemory). L'ho implementato anche in un altro modo che funziona e scala, ma sembra abbastanza hacky.Come cambieresti un singolo byte in un file?

Se sei un java io guru, e dovevi fare i conti con file molto grandi (200-500 MB), come potresti avvicinarti a questo?

Grazie!

+0

Stai cercando detto byte o conosci già la sua posizione? –

risposta

13

Vorrei usare RandomAccessFile, cercare la posizione che volevo cambiare e scrivere la modifica.

6

Se tutto quello che volevo fare era cambiare un singolo byte, non mi preoccuperei di leggere l'intero file in memoria. Vorrei usare uno RandomAccessFile, seek per il byte in questione, write esso e chiudere il file.

Problemi correlati