java.lang.Object
- java.io.InputStream
- java.io.FilterInputStream
- java.io.DataInputStream
데이터 입력 스트림에의해 어플리케이션은
원시형의 Java 데이터를 기초의 입력 스트림로부터 머신에 존하지 않고 읽어들일 수가 있습니다.
어플리케이션은 데이터 출력 스트림을 사용해 데이터를 출력하는 것으로
그 데이터를 나중에 입력 스트림로부터 읽어들일 수도 있습니다.
DataInputStream
public DataInputStream(InputStream in)
지정된 기본이 되는 InputStream를 사용하는 DataInputStream를 작성합니다.
파라미터: in - 지정의 입력 스트림
메서드 상세
read
public final int read(byte[] b)
throws IOException
보존된 입력 스트림로부터 바이트수를 읽기, 그것을 버퍼 배열 b에 포함합니다.
실제로 읽힌 바이트수는 정수로서 리턴됩니다 .
이 메서드는 입력 데이터를 읽어들일 수 있게 되는지,
파일의 마지막이 검출되든가 혹은 예외가 Throw 될 때까지 블록 합니다.
b가 null인 경우는 NullPointerException가 발생 됩니다.
b가 0인 경우, 바이트는 읽히지 않고, 0 이 리턴됩니다 .
그렇지 않은 경우는 1 바이트 이상의 read 처리를 실시합니다.
스트림이 파일의 마지막에 이르고, 읽어들이는 바이트가 없는 경우는 값 -1 이 리턴됩니다 .
그렇지 않은 경우는 1 바이트 이상이 읽혀b에 포함됩니다.
최초로 읽힌 바이트는 요소 b[0]에 포함되어 다음의 바이트는 b[1]에 포함됩니다.
읽히는 바이트수의 상한은, b 길이와 같습니다.
여기서, k를 실제로 읽힌 바이트 수라고 합니다.
읽힌 바이트는 요소 b[0] ~ b[k-1]에 포함되어 요소 b[k] ~ b[b.length-1]는 영향을 받지 않습니다.
파일의 마지막에 이르고 있는 이외의 이유로써 최초의 바이트를 읽어들일 수 없는 경우는
IOException가 발생 됩니다.
특히, 입력 스트림이 닫고 있는 경우에는 IOException가 발생 됩니다.
read(b) 메서드의 효과는 아래와 같습니다.
read(b, 0, b.length)
오버라이드(override):클래스 FilterInputStream 내의 read
파라미터:
b - 데이터의 read처의 버퍼
반환값:
버퍼에 읽힌 바이트의 합계수. 스트림의 마지막에 이르러 데이터가 없는 경우는 -1
예외:
IOException - 입출력 에러가 발생했을 경우
관련 항목:
FilterInputStream.in, InputStream.read(byte[], int, int)
'JAVA' 카테고리의 다른 글
JDK 설치 - 시스템 환경변수 설정 (0) | 2024.03.04 |
---|---|
Java 대용량 데이터 청크로 분리해서 데이터 전송하기 (0) | 2023.03.10 |
시스템 환경의 Endian (엔디안) 종류 체크 (0) | 2023.01.05 |
Java) InputStream (0) | 2022.12.22 |
2차원 배열 4배수 (0) | 2022.12.14 |