[혼자 공부하는 자바] Chapter 14

혜원·2023년 8월 23일
0

기본 미션: 입출력 스트림 요약 정리하여 포스팅하기

아래 내용 참조


14_1 입출력 스트림

바이트 출력 스트림: OutputStream

  • 바이트 기반 출력 스트림의 최상위 클래스
리턴 타입메소드설명
voidwrite(int b)1 btye를 출력합니다.
voidwrite(byte[] b)매개값으로 주어진 배열 b의 모든 바이트를 출력합니다.
voidwrite(byte[] b, int off, int len)매개값으로 주어진 배열b[off]부터 len개까지의 바이트를 출력합니다
voidflush()출력 버퍼에 잔류하는 모든 바이트를 출력합니다.
voidclose()출력 스트림을 닫습니다.

write(int b) 메소드


최종 도착지를 test1.db로 하는 출력 스트림 생성, outputstream에 대입함

test1.db에 데이터를 넣음


write(byte[] b) 메소드

  • 매개값으로 주어진 배열의 모든 바이트를 출력 스트림으로 내보냄

    배열의 모든 바이트를 출력하여 test2.db의 내용으로 저장함

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

  • b[off]부터 len개의 바이트를 출력 스트림으로 내보냄

    배열의 1번 인덱스부터 3개의 데이터를 출력하여 test3.db의 내용으로 저장함

바이트 입력 스트림 : InputStream

  • 바이트 기반 입력 스트림의 최상위 클래스
리턴 타입메소드설명
intread()1 byte를 읽고 읽은 바이트를 리턴합니다.
intread(byte[] b)읽은 바이트를 매개값으로 주어진 배열에 저장하고 읽은 바이트 수를 리턴합니다.
intread(byte[] b, int off, int len)len개의 바이트를 읽고 매개값으로 주어진 배열에서 b[off]부터 len개까지 저장합니다. 그리고 읽은 바이트 수를 리턴합니다.
voidclose()입력 스트림을 닫습니다.

read() 메소드


test1.db에 있는 데이터를 1byte씩 읽고 모니터에 출력함


read(byte[] b) 메소드


길이 100인 배열 생성, 배열 길이만큼 읽고 배열에 저장된 바이트를 출력함


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


test3.db에서 3바이트를 읽고 읽은 바이트가 있다면 배열 전체를 출력함


14_2 보조 스트림

  • 다른 스트림과 연결됨

BufferedInputStream과 BufferedReader

  • 읽기 성능 향상
  • 추가적인 내부 버퍼 제공

  • 보조 스트림을 사용했을 때 훨씬 성능이 좋아짐

14_3 입출력 관련 API

System.in 필드

  • InputStream변수로 참조가 가능


q 또는 quit가 입력되기 전까지 반복해서 문자열을 입력받고 모니터에 출력함


Scanner 클래스




Scanner를 사용해서 상품의 내용을 입력받고, Product 객체 생성한 뒤 List 컬렉션에서 관리함


혼공자 처음 시작하고 막막해하던게 엊그제 같은데 벌써 끝난게 아쉽기도 하고 후련하기도 한..ㅎㅎㅎ
수고했다 나자신....

0개의 댓글