Cute Running Puppy

Language/[Java] 혼자 공부하는 자바

[#혼공챌린지] 혼자 공부하는 자바_6주차 기본미션

R.silver 2021. 8. 13. 15:02
반응형

https://hongong.hanbit.co.kr/%ed%98%bc%ea%b3%b5-%ea%b2%8c%ec%8b%9c%ed%8c%90/?uid=27&mod=document&pageid=1

 

[#혼공챌린지] 혼공 학습단 6기 도서별 미션과 커리큘럼

안녕하세요, 한빛미디어 혼공단을 운영하는 🧙🏻‍♀️혼공족장🧙🏻‍♀️입니다. #혼공챌린지 혼공학습단 6기와 "혼자 공부하는"시리즈에 관심을 주셔서 감사합니다 🥳 딱 6주만 같이 때

hongong.hanbit.co.kr

#혼공단 #혼공챌린지 #혼공자


혼공 챌린지_자바 6주차 기본 미션

chapter 14. 입출력 스트림 요약정리 포스팅


입출력 스트림의 종류

바이트 기반  문자 기반
그림, 멀티미디어 등 바이너리 데이터를 읽고 출력할 때 문자 데이터를 읽고 출력할 때

최상위 클래스를 보면 입출력 스트림의 종류를 구별할 수 있다. 

구분 바이트 기반 문자 기반
입력 출력 입력 출력
최상위 클래스 InputStream InputStream Reader Writer
하위 클래스 ---InputStream ---InputStream ---Reader ---Writer

바이트 출력 스트림: OutputStream

  • 바이트 기반 출력 스트림의 최상위 클래스이며 추상 클래스
  • 모든 바이트 기반 출력 스트림은 OutputStream 클래스를 상속받아서 만들어진다
  • 모든 바이트 기반 출력 스트림이 기본적으로 가져야 할 메소드가 정의되어있다
write(int b) 메소드

 

매개변수로 주어지는 int에서 마지막 1byte만 출력 스트림으로 보내는 메소드 

매개변수가 4byte의 int형이지만 4byte 모두를 보내는 것은 아니다. 

 

write(byte[]b) 메소드

 

매개 값으로 주어진 배열의 모든 바이트를 출력 스트림으로 보내는 메소드 

 

write(byte[] b, int off, int lne) 메소드

 

b[off] 부터 len 개의 바이트를 출력 스트림으로 보내는 메소드 

 

바이트 입력 스트림: InputStream

  • 바이트 기반 입력 스트림의 최상위 클래스이며 추상 클래스
  • 모든 바이트 기반 입력 스트림은 InputStream 클래스를 상속받아 만들어진다
  • 모든 바이트 기반 입력 스트림이 기본적으로 가져야 할 메소드가 정의되어 있다
read() 메소드

 

입력 스트림으로부터 1byte를 읽고 int 타임으로 리턴하는 메소드 

리턴된 4byte 중 마지막 1byte에만 데이터가 들어 있다.

더 이상 바이트를 읽을 수 없다면 -1을 리턴한다. 

 

read(byte[] b) 메소드

 

입력 스트림으로부터 매개 값으로 주어진 배열의 길이만큼 바이트를 읽고 해당 배열에 저장하고 읽은 바이트 수를 리턴하는 메소드 

읽은 바이트 수가 배열의 길이보다 적을 경우 읽은 수만큼만 리턴한다. 

입력 스트림으로부터 바이트를 더 이상 읽을 수 없다면 -1을 리턴한다.

한번 읽을 때 배열 길이만큼 읽기 때문에 많은 양의 바이트를 읽을 때에는 read(byte[] b) 메소드를 사용하는 게 좋다.

 

read(byte[] b, int off, int len) 메소드

 

입력 스트림으로부터 len개의 바이트 만큼 읽고 매개값으로 주어진 바이트 배열 b[off] 부터 len개 까지 저장하고 읽은 바이트 수인 len을 반환하는 메소드 

실제로 읽은 바이트 수가 len 개보다 작다면 읽은 수만큼만 반환한다. 

입력 스트림으로부터 바이트를 더 이상 읽을 수 없다면 -1을 리턴한다. 

read(byte[] b)와 달리 한번에 읽어 들이는 바이트 수를 len 매개 값으로 조절할 수 있고, 배열에서 저장이 시작되는 인덱스를 저장할 수 있다. 

 

문자 출력 스트림: Writer

  • 문자 기반 출력 스트림의 최상위 클래스이며 추상 클래스
  • 모든 문자 기반 출력 스트림은 Writer 클래스를 상속받아 만들어진다
  • 모든 문자 기반 출력 스트림이 기본적으로 가져야 할 메소드가 정의되어 있다
write(int c) 메소드 

 

매개변수 int에서 마지막 2byte (1개의 문자)만 출력 스트림으로 보내는 메소드

 

write(char[] cbuf) 메소드

 

매개 값으로 주어진 char[] 배열의 모든 문자를 출력 스트림으로 보내는 메소드

 

write(char[] cbuf, int off, int len) 메소드

 

c[off] 부터 len 개의 문자를 출력 스트림으로 보내는 메소드

 

 write(String str), write(String str, int off, int len) 메소드

 

write(String str)는 문자열 전체를 출력 스트림으로 보내는 메소드

write(String str, int off, int len)는 주어진 문자열 off 순번부터 len개까지의 문자를 보내는 메소드

 

문자 입력 스트림: Reader 

  • 문자 기반 입력 스트림의 최상위 클래스이며 추상 클래스
  • 모든 문자 기반 입력 스트림은 Reader 클래스를 상속받아 만들어진다
  • 모든 문자 기반 입력 스트림이 기본적으로 가져야 할 메소드가 정의되어 있다
read() 메소드

 

입력 스트립으로부터 1개의 문자를 읽고 int 타입으로 리턴하는 메소드

입력 스트림으로부터 문자를 읽을 수 없다면 -1을 리턴한다.

 

read(char[] cbuf) 메소드

 

입력 스트림으로부터 매개 값으로 주어진 문자 배열의 길이만큼 문자를 읽고 배열에 저장하고 읽은 문자 수를 리턴하는 메소드

실제로 읽은 문자 수가 배열의 길이보다 적다면 읽은 수만큼 리턴한다. 

입력 스트림으로부터 문자를 더 이상 읽을 수 없다면 -1을 리턴한다. 

 

read(char[] cbuf, int off, int len) 메소드

 

입력 스트림으로부터 len 개의 문자만큼 읽고 매개 값으로 주어진 문자 배열에서 cbuf[off] 부터 len 개까지 저장하고 len을 리턴하는 메소드

실제로 읽은 문자 수가 len개보다 적을 경우에는 읽은 수만큼만 리턴한다. 

입력 스트림으로부터 문자를 더 이상 읽을 수 없다면 -1을 리턴한다. 

 


선택미션

[#혼공챌린지] 혼자 공부하는 자바_6주차 선택미션 (tistory.com)

 

[#혼공챌린지] 혼자 공부하는 자바_6주차 선택미션

#혼공단 #혼공챌린지 #혼공자 https://hongong.hanbit.co.kr/%ed%98%bc%ea%b3%b5-%ea%b2%8c%ec%8b%9c%ed%8c%90/?uid=27&mod=document&pageid=1 [#혼공챌린지] 혼공 학습단 6기 도서별 미션과 커리큘럼 안녕하세요,..

spongerice.tistory.com

 

반응형