다중 읽기를 위한 입력 스트림 복사
입력 스트림을 두 번 읽는 것은 데이터 소비의 순차적 특성으로 인해 어려운 일입니다. 그러나 Apache Commons IO 라이브러리를 활용하면 스트림의 콘텐츠를 재사용 가능한 소스에 복사할 수 있습니다.
ByteArrayOutputStream 및 ByteArrayInputStream을 사용하는 솔루션:
스트림을 여러 번 읽으려면:
// Option 1: Iteratively create `ByteArrayInputStream` objects while (needToReadAgain) { ByteArrayInputStream bais = new ByteArrayInputStream(bytes); yourReadMethodHere(bais); } // Option 2: Reset the same `ByteArrayInputStream` repeatedly ByteArrayInputStream bais = new ByteArrayInputStream(bytes); while (needToReadAgain) { bais.reset(); yourReadMethodHere(bais); }
참고: 이 접근 방식은 상대적으로 작은 데이터 스트림에 적합합니다. 대규모 또는 무한 스트림의 경우 메모리 고갈을 방지하기 위해 스트리밍 접근 방식을 고려하세요.
위 내용은 Java에서 InputStream을 여러 번 읽으려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!