728x90
반응형
SMALL

(1) IO(Input/Output)

input : 키보드, 파일

output : 모니터, 파일

 

(2) 스트림(Stream) : 데이터가 돌아다니는 선(통로) → 데이터를 목적지까지 IO하는 방법

특징

  • 스트림은 단방향!! input, output은 따로따로 만들어줘야함
  • 자바에서 읽기/ 쓰기는 동시에 불가!
  • FIFO(First In First Out), 지연 가능

(3) 입출력 스트림 구조

  장치 또는 파일 ———> 입력 스트림 ————> 자바 프로그램

  장치 또는 파일 <——— 출력 스트림<————- 자바 프로그램

 

(4) 스트림의 특성

  • 바이트 단위로 입출력하는 바이트 스트림 : 클래스명이 Stream으로 끝남
  • 문자 단위로 입출력하는 문자 스트림 : 클래스명이 Reader, Writer로 끝남
  • 사용이 끝나면 Close()로 닫아야 메모리 누수(leak) 방지 가능

(5) 스트림의 대분류

  1) 바이트 스트림

     바이트(8비트) 단위로 데이터를 전송하는 방식

     이미지, 영상, 음악

     java.io.InputStram, java.io.OutputStram

  2) 문자 스트림

    자바에서는 char가 2 byte이기 떄문에 한글 전송 등은 바이트 스트림에서 깨짐

    이미지, 영상, 음악은 처리 불가!

    바이트 스트림은 byte[ ], 문자 스트림은 char[ ]

 

(6) InputStream의 메서드

int read()

int read(byte[ ] b)

int read(byte[ ] b, int offset, int len)

 

(7) InputStream의 종류

FileInputStream : 파일

pipeInputStream : 메모리

AudioInputStream : 오디오

ByteArrayInputStream : 프로세스

 

(8) InputStream Exercise

Image, URL(HTML), SequenceInputReader

 

(9) OutputStream

InputStream의 read를 write로 바꾸면 됨

728x90
반응형
LIST

'개발 > JAVA' 카테고리의 다른 글

Hello World!  (0) 2023.01.18
Swing  (0) 2023.01.09
스레드(Thread)  (0) 2023.01.09
컬렉션 프레임워크 (Collection Framework)  (0) 2023.01.09
기본 클래스(String 외)  (0) 2023.01.09

+ Recent posts