EEALL@ONCE

☕InputStream 본문

언어💻/자바☕

☕InputStream

올엣원스 2023. 8. 17. 09:30
728x90

`InputStream`은 자바에서 입력 스트림의 모든 클래스가 상속받는 추상 클래스입니다. 입력 스트림은 바이트 단위로 데이터를 읽어 들이는 데 사용되며, 파일, 네트워크, 키보드 등 다양한 소스로부터 데이터를 읽을 수 있습니다.

주요 메서드:

1. **`read()`:** 입력 스트림에서 다음 바이트를 읽습니다. 스트림의 끝에 도달하면 -1을 반환합니다.
2. **`read(byte[] b)`:** 입력 스트림에서 바이트 배열 `b`의 크기만큼 읽어 `b`에 저장합니다. 읽은 바이트 수를 반환합니다.
3. **`close()`:** 스트림을 닫아 사용한 자원을 해제합니다.

사용 예시:

InputStream inputStream = new FileInputStream("example.txt"); // 파일로부터 읽기
byte[] buffer = new byte[1024];
int bytesRead;

while ((bytesRead = inputStream.read(buffer)) != -1) {
    // buffer에서 bytesRead만큼 데이터 처리
}

inputStream.close(); // 스트림 닫기



효율과 SIDE EFFECT:

- **효율**: `InputStream`은 낮은 수준의 입출력 작업을 처리하므로 세밀한 제어가 가능합니다. 그러나 복잡한 작업을 수행하려면 추가 코드가 필요할 수 있습니다.
- **SIDE EFFECT**: `InputStream`을 사용한 후에는 반드시 `close()` 메서드를 호출해야 합니다. 그렇지 않으면 자원 누수가 발생할 수 있습니다.


728x90

'언어💻 > 자바☕' 카테고리의 다른 글

☕DateTimeFormatter  (0) 2023.08.21
☕StringIndexOutOfBoundsException  (0) 2023.08.17
☕ Scanner / System.in  (0) 2023.08.17
☕ 원시형 매개변수 vs 참조형 매개변수  (0) 2023.08.17
☕메소드 오버로딩(Method Overloading)  (0) 2023.08.16