java.io 패키지
Back-End/API 2019. 4. 21. 17:08-java.io 패키지-
자바의 기본적인 데이터 입출력 API 제공
파일 시스템의 정보를 얻기위한 File 클래스와 데이터를 입출력하기 위한 입출력 스트림 클래스를 제공
스트림 클래스는 두종류로 나뉜다.
하나는 바이트(byte)기반 스트림이다. 그림, 멀티미디어, 문자 등 모든 종류의 데이터를 받고 보낼수 있다.
다른 하나는 문자(character)기반 스트림이다. 문자 기반 스트림은 오로지 문자만 받고 보낼 수 있도록 되어있다.
-InputStream-
바이트 기반 입력 스트림의 최상위 클래스로 추상클래스이다.
바이트 기반 입력 스트림은 이 클래스를 상속받아서 만들어진다.
1. read() 메소드
입력 스트림으로부터 1바이트를 읽고 4바이트 int 타입으로 리턴한다.
더 이상 입력 스트림으로부터 바이트를 읽을 수 없다면 read() 메소드는 -1을 리턴한다.
2.read(byte[]b) 메소드
입력 스트림으로부터 매개값으로 주어진 바이트 배열의 길이만큼 바이트를 읽고 배열에 저장한다.
그리고 읽은 바이트 수를 리턴한다.
스트림으로부터 바이트를 더 이상 읽을 수 없다면 -1을 리턴한다.
3.read(bytep[]b,int off, int len) 메소드
read(bytep[]b,int off, int len) 메소드는 입력 스트림으로부터 len개의 바이트만큼 읽고, 매개값으로
주어진 바이트 배열 b[off]부터 len개까지 저장한다. 그리고 읽은 바이트 수인 len개를 리턴한다.
또한 read(byte[]b)와의 차이점은 한 번에 읽어들이는 바이트 수를 len 매개값으로 조절 할 수 있고,
배열에서 저장이 시작되는 인덱스를 지정할 수 있다.
만약 off를 0으로, len을 배열의 길이로 준다면 read(byte[]b)와 동일하다.
4.close() 메소드
InputStream을 더 이상 사용하지 않을 경우에 시스템 자원을 풀어주는 메소드.
-OutputStream-
바이트 기반 출력 스트림의 최상위 클래스로 추상클래스이다.
바이트 기반 출력 스트림은 이 클래스를 상속받아서 만들어진다.
1.write(int b) 메소드
write(int b)메소드는 매개 변수로 주어진 int값에서 끝에 있는 1바이트만 출력 스트림으로 보낸다.
2.write(byte[]b) 메소드
write(byte[]b)는 매개값으로 주어진 바이트 배열의 모든 바이트를 출력 스트림으로 보낸다.
3. write(bytep[]b,int off, int len) 메소드
write(bytep[]b,int off, int len)은 b[off]부터 len개의 바이트를 출력 스트림으로 보낸다.
4.flush() 메소드
버퍼에 잔류하고 있는 데이터를 모두 출력시키고 버퍼를 비우는 역할을 한다.
프로그램에서 더 이상 출력할 데이터가 없다면 flush() 메소드를 마지막으로 호출하여
버퍼에 잔류하는 모든 데이터가 출력되도록 해야 한다.
5.close() 메소드
InputStream을 더 이상 사용하지 않을 경우에 시스템 자원을 풀어주는 메소드.
-Reader-
문자 기반 입력 스트림의 최상의 클래스로 추상클래스이다
모든 문자 기반 입력 스트림은 이 클래스를 상속받아서 만들어진다.
-Writer-
문자 기반 출력스트림의 최상의 클래스로 추상클래스이다
모든 문자 기반 출력 스트림은 이 클래스를 상속받아서 만들어진다.
'Back-End > API' 카테고리의 다른 글
Spring API ( HttpServletRequest, HttpServletResponse ) (0) | 2019.06.27 |
---|---|
Spring API (@RequestBody와 ResponseEntity의 차이점) (0) | 2019.06.27 |
스프링 AOP JoinPoint 객체 (0) | 2019.06.23 |
서블릿 API (0) | 2019.04.30 |
java.util.stream (0) | 2019.04.20 |