FileCacheImageOutputStream
FileCacheImageOutputStream (파일 캐시 이미지 출력 스트림)
일반 OutputStream에 출력을 기록하는 ImageOutputStream의 구현 클래스예요. 데이터가 출력 스트림으로 flush되기 전까지는 파일을 사용해 데이터를 캐시해요.
본문
FileCacheImageOutputStream은 임시 파일에 데이터를 캐시하다가 지정 시점에 실제 출력 스트림으로 전달하는 방식이에요. 따라서 읽기/쓰기 혼합 작업이나 위치를 이동하며 처리하는 이미지 IO에서 유용하게 쓰여요. 메모리가 아닌 디스크에 캐시를 두므로 큰 이미지 데이터를 다룰 때 안정적이에요.
생성자는 출력 스트림과 캐시 디렉터리를 함께 받아요.
public FileCacheImageOutputStream(OutputStream stream, File cacheDir)
throws IOException
주요 메서드로는 read, write, seek, length, flushBefore가 있고, 캐시 동작 방식을 확인하는 isCached(), isCachedFile(), isCachedMemory()도 제공해요. 이 클래스는 파일 기반 캐시를 사용하므로 isCachedFile()은 true, isCachedMemory()는 false를 반환해요. 사용을 마치면 close()로 스트림과 캐시 파일을 정리해야 해요.