2009-03-18 7 views
5

Java를 사용하여 파일의 단일 바이트를 변경하는 가장 좋은 방법은 무엇입니까? 나는 이것을 여러 가지 방법으로 구현했다. 하나는 모든 바이트 배열 조작을 사용하지만 이는 사용 가능한 메모리 양에 매우 민감하며 50MB 정도 지나서 확장되지 않습니다 (예 : OutOfMemory 오류가 발생하지 않고 바이트 [100] 바이트를 할당 할 수 없음). 나는 또 다른 방법으로 작동하고 비늘을 구현했지만 꽤 해킹 된 느낌이 든다.파일에서 단일 바이트를 어떻게 변경 하시겠습니까?

당신이 Java io 전문가이고 대용량 파일 (200-500MB)과 경쟁해야한다면 어떻게 접근 할 수 있습니까?

감사합니다!

+0

해당 바이트를 검색하고 있습니까, 아니면 이미 위치를 알고 있습니까? –

답변

13

나는 RandomAccessFile을 사용하여 변경하고 싶었던 위치를 찾고 싶습니다.

6

내가 원했던 것이 하나의 바이트를 변경하는 것이라면 전체 파일을 메모리로 읽지 않아도됩니다. 나는 문제의 바이트에 RandomAccessFile, seek을 사용하고 write 그 파일을 닫을 것이다.

관련 문제