매우 큰 파일 (예 :> 1GB)이 있고 그 중간에 하나의 문자를 추가하고 싶다고합니다. 전체 파일을 읽고 쓰지 않고도이 작업을 수행 할 수 있습니까? 나의 현재 솔루션 (의사 코드에서) 이것이다 :매우 큰 파일의 중간에 콘텐츠를 추가하거나 제거하는 빠른 방법이 있습니까
x = 0
chunk = read 4KB chunk x of input file
if chunkToEdit = x, chunk = addCharacter(chunk)
append chunk to the output file
x = x + 1
repeat last 4 steps until input file is fully read
delete input file
move output file to input file
이 작동하는 동안, 읽기 1GB의 결과, 단일 문자 변경할 수 있도록 작성 1기가바이트 또한 여분의 1GB 디스크 공간이 필요합니다. 필자가해야 할 일은 파일의 일부분을 수정하여 파일의 일부분 (예 : 4KB의 읽기 및 4KB의 쓰기)을 읽고 써야만합니다. 이것이 가능합니까 (아니면 제 해결책보다 나은 해결책입니까)?
파일을 조각화하고 변경된 부분에 대해 새 조각을 만드는 OS에서이 문제를 해결할 수 있다고 생각했지만이 기능이 작성되어 개발자에게 노출되었는지는 알 수 없습니다.