본문 바로가기

학원/Java

JAVA 10장. 컬렉션 I/O

[ 목차 ]

1. 입출력

2. 스트림

3. InputStream 클래스

4. FileInputStream

5. ByteArrayInputStream

6. SequenceInputStream

7. OutputStream

8. ByteArrayOutputStream

9. Reader 클래스

10. BufferedReader

11. FileReader

12. InputStreamReader

13. Writer

14. 객체 입출력

 

1. 입출력

1) 프로그램에서 다른 대상으로 데이터를 보내거나 읽어 들이는 기능

2) 참고하면 좋은 사이트 

http://twinbraid.blogspot.com/2014/09/blog-post_40.html

2. 스트림

1) 애플리케이션이 다른 대상으로 데이터 입/출력시 중간 매개체 역할을 하는 단위

2) 애플리케이션 -> 출력 스트림 ->  작업대상(파일, 콘솔, 서버)

3) 애플리케이션 <- 입력 스트림 <- 작업대상(파일, 콘솔, 서버)

4) 바이트 기반 입출력 : 바이트 기반으로 입출력 해주는 클래스

 

3. InputStream 클래스

1) 여러 자식 클래스 보유

2) System.in 에서 in은 InputStream을 구현해 놓은 객체

4. FileInputStream

1) 파일로부터 바이트 단위로 데이터를 읽어 들이는 스트림 클래스

5. ByteArrayInputStream

1) 메모리에 있는 바이트 배열 객체를 읽어 들이는 기능

6. SequenceInputStream

1) 입력스트림 여러 개를 하나의 입력스트림으로 연결하여 데이터를 읽어 들이는 입력 스트림

2) 2개의 InputStream 입력을 받는 생성자와 Enumeration 객체를 받는 생성자

 

7. OutputStream

1) 바이트기반 출력 스트림 최상위 클래스

2) void write( ) : 1byte 출력

3) void flush( ) : 버퍼에 있는 데이터 출력

4) true 입력시 기존 데이터와 같이 출력, false 입력 시 초기화 후 출력

 

8. ByteArrayOutputStream

1) 메모리로 데이터를 출력하는 클래스

 

9. Reader 클래스

1) 문자를 읽는 클래스

2) BufferedReader, FileReader, InputStreamReader

 

10. BufferedReader

1) Reader 스트림에 버퍼 기능을 추가하는 스트림 클래스

2) 버퍼를 사용해 성능이 조흠

3) readLine( ) 메소드 : 라인벼로 읽어 들여 String 타입으로 반환

4) InputStreamReader : InputStream 객체를 reader 객체로 변환

 

11. FileReader

1) 파일로부터 데이터를 문자 단위로 읽어들임

 

12. InputStreamReader

1) InputStream -> Reader변환

2) 바이트 타입으로 읽은 데이터를 문자 타입으로 읽어들임

3) 콘솔에서 Sysytem.in.read()는 한글이 깨짐

 

13. Writer

1) 문자 단위로 데이터 출력

2) FileWriter

 

 

3) BufferedWriter

  1] flush 해야 데이터 출력

  2] buffer 사이즈 보다 데이터 출력이 많아지면 자동 flush

  3] close( ) 메소드 호출 시 자동 출력

 

4) OutputStreamWriter

  1] 바이트 추력 스트림 -> 문자 출력 스트림 변환

 

14. 객체 입출력

1) 직렬화 : 객체 -> 파일, 네트워크에 출력(연속되는 바이트로 변경)

2) 역질렬화 : 직렬화된 바이트를 객체로 변환

3) Serializable 인터페이스 구현

  1] 메소드는 없고 직렬화 할 객체에 구현

  2] 구현없이 직렬화 시도시 NotSeriallzableException 발생

  3] 특정 변수를 직렬화 대상에서 빼려면 transient 예약어 지정

4) ObjectOutputStream : 객체를 출력 할 때 직렬화 기능 수행

5) ObjectInputStream : 객체를 읽어올 때 역 직렬화 기능 수행

6) RandomAccessFile

  1] 데이터를 읽으면서 동시에 출력

  2] pointer를 이용해서 위치 탐색 가능

  3] rw읽기/쓰기 모드

'학원 > Java' 카테고리의 다른 글

JAVA 12장. JDBC  (0) 2020.03.26
JAVA 11장. GUI  (0) 2020.03.16
JAVA 9장. 컬렉션  (0) 2020.03.12
JAVA 8-2장. 핵심 클래스들  (0) 2020.03.11
JAVA 8-1장. 예외처리  (0) 2020.03.11