로 출력 파일을 생성합니다. 메모리 덩어리를 출력 파일에 매핑하고 출력 파일에 더 많은 요소를 작성해야 할 때 다른 덩어리를 매핑하는 등의 작업을 수행합니다.메모리 매핑 된 출력 스트림은 후행 0
w_buffer = channel.map(FileChannel.MapMode.READ_WRITE, w_cycle*bufferSize, bufferSize);
내 구현은 요소의 총 양을 한 번에 파일에 매핑 된 덩어리의 크기의 배수가 파일에 있습니다 쓸 수 원활하게 작동합니다. 이없는 경우 그러나, 경우는 스트림/결정 또한 사용자는 후행 0의 형태로 파일에 덤프 매핑 된 덩어리에 공간이 남아 writing- 중지시기를 알 수없는 자주 있기 때문에 경우되지 않습니다 인격적으로. 출력 파일에서 이러한 후미 0을 피하는 방법은 무엇입니까?
미리 감사드립니다.
죄송합니다. 이전 방식은 괜찮아 보입니다. 나는 절단 할 수있는 그러한 기능의 유용성을 알지 못했다. 그러나, 그것은 오류 다음 나에게 제공합니다 요청한 작업이 파일 매핑 인스턴스화해야 메모리 바이트 버퍼보다 다른 중간 버퍼를 (필요하기 때문에 개방 두 번째 솔루션은 이상한 소리를 사용자가 매핑 한 구역이있는 파일을 수행 할 수 없습니다 몇개의 요소를 거기에 격납하기 전에), 몇개의 요소를 매핑 할까를 알기 위해서 (때문에) 필요합니다. – bfaskiplar
음, 두 번째 방법은 잘라야의 첫 번째 전화 해야지는 방법 - 여기 내 목적은 신뢰할 수없는 만드는 다른 플랫폼에 다른 동작이 발생할 수 있지만 완벽하게 작동합니다. 감사! – bfaskiplar