EEALL@ONCE
☕InputStream 본문
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 |