InputStream — 바이트 입력 스트림의 추상 슈퍼클래스

InputStream — 바이트 입력 스트림의 추상 슈퍼클래스

InputStream은 바이트 입력 스트림을 나타내는 모든 클래스의 추상 슈퍼클래스예요. InputStream의 하위 클래스를 정의해야 하는 애플리케이션은 항상 다음 입력 바이트를 반환하는 메서드를 제공해야 해요.

출처: Java API Reference

본문

이 클래스는 java.lang.Object를 상속하며 Closeable을 구현합니다. 직접 알려진 하위 클래스로 AudioInputStream, ByteArrayInputStream, FileInputStream, FilterInputStream, ObjectInputStream, PipedInputStream, SequenceInputStream, StringBufferInputStream 등이 있어요.

생성자

  • InputStream() — 하위 클래스가 호출하기 위한 생성자예요.

메서드

  • abstract int read() — 입력 스트림에서 다음 바이트를 읽어요. 스트림 끝이면 -1을 반환해요.
  • int read(byte[] b) — 입력 스트림에서 일부 바이트를 읽어 버퍼 배열 b에 저장해요.
  • int read(byte[] b, int off, int len) — 최대 len 바이트를 바이트 배열로 읽어요.
  • byte[] readAllBytes() — 입력 스트림의 모든 남은 바이트를 읽어요.
  • int readNBytes(byte[] b, int off, int len) — 요청한 수의 바이트를 주어진 바이트 배열로 읽어요.
  • byte[] readNBytes(int len) — 최대 지정한 수의 바이트를 입력 스트림에서 읽어요.
  • long skip(long n) — 이 입력 스트림에서 n 바이트를 건너뛰고 폐기해요.
  • void skipNBytes(long n) — 정확히 n 바이트를 건너뛰고 폐기해요.
  • int available() — 블로킹 없이 읽을 수 있는 바이트 수의 추정치를 반환해요.
  • void close() — 스트림을 닫고 관련 시스템 자원을 해제해요.
  • void mark(int readlimit) — 스트림의 현재 위치를 표시해요.
  • void reset() — 스트림을 마지막 mark 시점으로 되돌려요.
  • boolean markSupported() — mark/reset 지원 여부를 테스트해요.
  • long transferTo(OutputStream out) — 이 입력 스트림의 모든 바이트를 읽어 주어진 출력 스트림에 읽은 순서대로 써요.
  • static InputStream nullInputStream() — 바이트를 읽지 않는 새 InputStream을 반환해요.

InputStream은 파일, 네트워크, 메모리 등 다양한 소스에서 바이트를 읽는 스트림의 기반이며, 하위 클래스에서 read()를 구현하면 나머지 메서드들은 그 위에 구성됩니다.

더 알아보기 (Learn more)