FileChannel지도 - 글쓰기를 위해 확장 할 수 없습니다
-
24-12-2019 - |
문제
RandomAccessFile을 사용하여 큰 파일 (~ 200MB)을 열고 채널을 가져 오는 것입니다.일부 데이터를 MappedByteBuffer에 매핑하려고합니다. 그러나 예외를 얻는 중입니다.
채널 쓰기를 위해 열려 있지 않음 - 필수 크기의 파일을 확장 할 수 없습니다.
필자는 알아낼 수 없습니다. 맵 메소드가 파일 - 매핑 영역에 쓰려고하는 이유는 파일 크기보다 작습니다!이 경우 파일을 확장하려는 이유는 무엇입니까?
업데이트
문제가 해결되면 파일의 인덱스 위치에 대해 3 번째 매개 변수가 버퍼의 길이였습니다.
해결책
doc :
매개 변수 :
위치 맵핑 된 영역이 시작되는 파일 내의 위치;음성이 아닌
이어야합니다크기 맵핑 할 영역의 크기;java.lang.Integer.max_value보다 더 크지 않아야합니다.
파일 크기가 정확히 무엇입니까? 파일 크기를 초과하는 오프셋 + 크기를 매핑하려고합니까?
제휴하지 않습니다 StackOverflow