#TIL, Java Study, IO (input output)

Yimy·2020년 11월 6일
0

Java Study

목록 보기
14/15

28. IO (Input Output)

(1) 스트림 ( Stream )

: 데이터의 흐름 ( 방향 )

Data Sourse ( 근원지 ) --- > Data Destination ( 목적지 )
// 방향은 바뀌지 않는다.

(2) 스트림의 특징

1) FIFO ( first in first out )

: 들어간 대로 나온다.

2) 지연성

: 입력하다 멈춰도 진행은 되지만 기다려준다.

3) 단방향

: 방향이 결정되면 바뀌지 않는다.

4) 유연성

: fr > br 로 연결연결해서 (필터링) 입력받을 수 있음.

(3) 표준입력 / 표준출력

키보드 ( System.in) ---------> 모니터 (System.out)

(4) 구분​

1) 전송 단위

<1> 바이트 스트림 ( 1 byte Stream )
: 문자 이외의 데이터 멀티미디어 관련,...
ex) xxxStream 로 끝나는게 일반적

<2> 문자 스트림 ( 2 byte Stream )
: 문자도 1byte 쓸 수는 있지만, 깨질 위험이 있어서 안전하게 사용할때 씀.
ex) xxxReader, xxxWriter 로 끝나는게 일반적
( BufferedReader , PrintWriter, FileWriter,... )

2) 특성

<1> 근본(Node Stream ) 스트림
: 데이터의 근원지나 목적지와 바로 연결되어 있는 스트림

<2> 다리(Bridge Stream ) 스트림
: 1바이트 > 2바이트로 바꿀 수 있음. 중간역할.

<3> 목적(filter Stream ==응용) 스트림
: 근본 스트림이 아닌 스트림.

3) 입출력

<1> 입력 스트림
ex) xxxInputStream, xxxReader

<2> 출력 스트림
ex) xxxOutputStream, xxxxWriter

(5) 주요 스트림 클래스

1) InputStream / OutputStream

2) Reader / Writer

3) FileInputStream / FileOutputStream

4) FileReader / FileWriter

5) InputStreamReader / OutStreamWriter

6) BufferedInputStream / BufferedOutputStream

7) BufferedReader / PrintWriter
(오토플러쉬, 메소드가 많음, 브릿지가 필요없음.)

8) DataInputStream / DataOutputStream
(기본형, UTF(채팅,메신저) 읽고쓰기가능)

9) ByteArrayInputStream / ByteArrayOutputStream
(문자+문자아닌것-메모리에 저장, like 클립보드 )

10) CharArrayReader / CharArrayWriter (문자일 경우-메모리)

11) ObjectInputStream / ObjectOutputStream


_ex)day15/C.java__

cf)

java . io . File
: 디렉토리와 파일을 모델링한 클래스
( if delete( ) 할 때는 반드시 close( ) 해주고 해야 함. )
( 안그러면 객체가 물고 있어서 삭제가 안됨)

profile
Better version

0개의 댓글