[위 제목 그대로 요약해서 올렸습니다. 자세한 내용은 다음페이지 부터~....]
입 / 출 력 I O
자바의 입출력 (Input / Output)
1. 입출력 ? 스트림(Stream)
스트림이란 ?
- 데이터를 운반하는데 사용되는 연결통로
- 단방향
- 큐(Queue)와 같은 FIFO(First In First Out) 구조로 되어있다.
2. 스트림 기능적 종류
ㄱ. 입력 스트림 - BurreredReader, FileReader
ㄴ. 출력 스트림 - BurreredWriter, FileWriter
3. 스트림 종류
ㄱ. 바이트 스트림
1) 1byte(8bit)
2) 바이트, 정수, 바이트 배열
3) 최상위 부모 클래스 : InputStream (입력스트림)
OutputStream (출력스트림)
ㄴ. 텍스트(문자) 스트림
1) 유니코드문자(2byte)
2) 한 문자, 문자열(문자배열) ...
3) 최상위 부모 클래스 : Reader (입력스트림)
Writer (출력스트림)
4. [보조스트림] : 스트림의 기능을 보완하기 위해 사용되는 스트림
- 필터 바이트 스트림 : Filter + InputStream / OutputStream
- 버퍼 바이트 스트림 : Buffered + InputStream / OutputStream
- 데이터(기본형) 바이트 스트림 : Data + InputStream / OutputStream
- 두 개의 스트림을 하나로 연결하는 바이트 스트림 : SequenceInputStream / X
- 라인번호 (를 처리할 수 있는) 바이트 스트림 : LineNumber + InputStream
- 객체 단위 바이트 스트림 : Object + InputStream / OutputStream
- 인쇄(print) : X / PrintStream
파일 스트림
- File + InputStream/OutputStream 바이트스트림 // .exe & .dll
- File + Reader/Writer 문자스트림 // .exe
- FileInputStream/FileOutputStream
메모리 (바이트 배열) 스트림
- ByteArray + InputStream/OutputStream
- ByteArrayInputStream / ByteArrayOutputStream 바이트스트림
프로세스(프로세스 간의 통신) - 실행 중 인 프로그램
- Piped + InputStream/OutputStream
- PipedInputStream / PipedOutputStream 바이트스트림
오디오 장치
- Audid + InputStream/OutputStream
- AudioInputStream / AudioOutputStream 바이트스트림
등등...
* 표준 입력 장치로 부터 읽기 용도의 입력 바이트 스트림
* 이미지파일 바이트단위 (예제1~2 비교)
* 이미지파일 바이트단위 (예제1~3 비교)
* 키보드로부터 문자열 받아서 파일로 저장
* C드라이브에 있는 사진 1을 D드라이브에 Copy