사용자 도구

사이트 도구


study:java:javachobo:ch14

문서의 이전 판입니다!


1. 자바에서의 입출력

1.1 입출력이란?

* I/O란 input과 ouput의 약자로 입력과 출력, 간단히 줄여서 입출력이라고 한다. * 입출력은 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것을 말한다.

1.2 스트림

* 자바에서 입출력을 수행하려면, 즉 어느 한쪽에서 다른 쪽으로 데이터를 전달하려면, 두 대상을 연결하고 데이터를 전송할 수 있는 무언가가 필요한데 이것을 스트림(stream)이라고 정의했다. * 스트림은 연속적인 데이터의 흐름을 물에 비유해서 붙여진 이름인데 여러가지로 유사한 점이 많다. 물이 한쪽 방향으로만 흐르는 것과 같이 스트림은 단방향통신만 가능하기 때문에 하나의 스트림으로 입력과 출력을 동시에 처리할 수 없다. * 그래서 입력과 출력을 동시에 수행하려면 입력을 위한 입력스트림(input stream)과 출력을 위한 출력스트림(ouput stream), 모두 2개의 스트림이 필요하다. * 스트림은 먼저 보낸 데이터를 먼저 받게 되어 있으며 중간에 건너뜀 없이 연속적으로 데이터를 주고받는다. 큐(queue)와 같은 FIFO(First In First Out)구조로 되어 있다고 생각하면 이해하기 쉬울 것이다.

1.3 바이트 기반 스트림 - InputStream, OutputStream

입력스트림 출력스트림 입출력 대상의 종료
FileInputstream FileOutputstream 파일
ByteArrayInputStream ByteArrayOutputStream 메모리(byte)배열
PipedInputStream PipedOutputStream 프로세스(프로세스간의 통신)
AudioInputStream AudioOutputStream 오디오 장치

* 이들은 모두 InputStream , OutputStream의 자손들, 각각 읽고 쓰는데 필요한 추상메서드를 자신에 맞게 구현해 놓았다

입력스트림 출력스트림
abstract int read() abstract void write(int b)
int read(byte[] b) Void write(byte[] b)
int read(byte[] b, int off, int len Void write(byte[] b, int off, int len
study/java/javachobo/ch14.1269879159.txt.gz · 마지막으로 수정됨: 2010/03/30 01:12 저자 ziro0914