특수한 특성을 가진 파일을 읽기에 알맞은 인터페이스를 위해 몇 가지 힌트 나 팁을 사용할 수 있습니다.머리말과 꼬리말로 가변 길이 파일을 읽기위한 인터페이스
파일의 헤더 (~ 120 바이트), 본문 (1 바이트 - 3GB) 및 바닥 글 (4 바이트)이 있습니다.
헤더에는 본문에 대한 정보가 들어 있으며 바닥 글은 본문의 단순한 CRC32 값일뿐입니다.
나는 Java를 사용하여 "InputStream"클래스를 확장하고 "public MyInStream (InputStream in)"과 같은 생성자를 추가하여 즉시 헤더를 읽고 오버로드 된 read()가 본문을 직접 읽는 것이 었습니다. .
문제는 전 체가 읽힐 때까지 클래스의 사용자에게 CRC32 값을 제공 할 수 없다는 것입니다.
파일 크기가 3GB 일 수 있으므로 메모리에 저장하는 것이 좋습니다.
작은 파일이 많으면 임시 파일로 모두 읽으면 성능이 저하됩니다.
InputStream이 파일 일 필요가 없기 때문에 파일의 크기가 커도 소켓 일 수 있습니다.
다시 한번 살펴보면 InputStream을 확장하는 것이 나쁜 생각 일 수 있습니다.
피곤한 프로그래머의 혼란스러운 생각을 읽어 주셔서 감사합니다. :)