JAVA I.O.

coc·2023년 9월 7일
0

1.JAVA Input Output

1) JAVA.I.O 패키지는 크게 InputStream과 OutputStream 이렇게 두 가지로 나뉜다. 그리고 바이트 기반과 문자기반으로 분류된다.

2) InputStream과 OutputStream은 둘다 byte 기반 최 상위 class 이다.

3) InputStream 은 외부에서 파일을 읽어올 때 사용하고

4) OutputStrem 은 파일을 외부로 내보낼 때 사용 한다.

2. File 객체

1) File 은 I/O 에 해당하는 클래스는 아니다.

2) java 에서 file/directory 등을 다룰 수 있게 해 주는 객체이다.

3) File 에 Data를 읽고 쓰는 기능은 Stream 을 통해 이루어 진다.

3. Reader/Writer

1)FileReader를 이용 하여 텍스트 파일을 읽어와 출력할 수 있다.

2)FileWriter 를 사용해 사용자가 입력한 내용을 저장할 수 있다.

3)Writer 는 내보내는 기능이므로 반드시 flush 해 줘야 한다.

중요

모든 Stream 은 사용 후 반드시 close 해 줘야 한다.

4.보조스트림

1)보조 스트림은 다른 스트림과 연결되어 추가 기능을 제공해주는 스트림이다.

2)보조 스트림은 계속 해서 붙일 수가 있다.

주 스트림은 보조 스트림을 사용하기 위해 탑승 해야 한다.

5. 보조스트림 종류

<1> Buffered

1) 보조 스트림 에서는 성능 향상을 위한 Buffer 를 제공 한다.

2) buffer 는 전송 받은 내용들을 모아서 한꺼번에 전송 할 수 있도록 해 주는 임시 저장소다.

3) buffered 보조 스트림 생성시 8192 byte(i/o) 또는 8192(r/w) 자의 저장소가 생긴다.

<2>Data

1)스트림은 java 의 데이터타입(int, boolean, long, double...) 데이터를 전송 할 수가 없다.

2)DataInputStream, DataOutputStream을 이용하면 데이터를 전송이 가능하다.

<3>Object

Data 로는 모든 type 을 보내긴 무리가 있다. 그래서 java 에서 최상위 객체인 Object 를 다룰 수 있는 보조 스트림이 있다. 이 보조스트림을 사용하면 객체, 배열, 컬렉션 등 다양한 데이터 형태가 들어 갈 수 있다. 다만 Class 객체의 경우는 직렬화(serialize)를 하지 않으면 전달되지 않는다. Object 보조 스트림을 이용하면 Java 의 자료구조를 영구적으로 저장시킬 수 있다.그럼으로써 서버가 종료되어도 Java 객체의 내용을 보존 할 수 있게 된다.

profile
시작

0개의 댓글