문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
study:java:javachobo:ch14 [2010/04/02 01:24] ziro0914 |
study:java:javachobo:ch14 [2010/04/03 17:31] gauryan |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== 1. 자바에서의 입출력 ====== | ====== 1. 자바에서의 입출력 ====== | ||
- | ===== 1.1 입출력이란? | ||
- | *I/O란 input과 ouput의 약자로 입력과 출력, 간단히 줄여서 입출력이라고 한다. | ||
- | *입출력은 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것을 말한다. | ||
- | |||
- | ===== 1.2 스트림 ===== | ||
- | *자바에서 입출력을 수행하려면, | ||
- | *스트림은 연속적인 데이터의 흐름을 물에 비유해서 붙여진 이름인데 여러가지로 유사한 점이 많다. 물이 한쪽 방향으로만 흐르는 것과 같이 스트림은 단방향통신만 가능하기 때문에 하나의 스트림으로 입력과 출력을 동시에 처리할 수 없다. | ||
- | *그래서 입력과 출력을 동시에 수행하려면 입력을 위한 입력스트림(input stream)과 출력을 위한 출력스트림(ouput stream), 모두 2개의 스트림이 필요하다. | ||
- | *스트림은 먼저 보낸 데이터를 먼저 받게 되어 있으며 중간에 건너뜀 없이 연속적으로 데이터를 주고받는다. 큐(queue)와 같은 FIFO(First In First Out)구조로 되어 있다고 생각하면 이해하기 쉬울 것이다. | ||
- | |||
- | ===== 1.3 바이트 기반 스트림 - InputStream, | ||
- | ^ 입력스트림 | ||
- | | **File**Inputstream | ||
- | | **ByteArray**InputStream | ||
- | | **Piped**InputStream | ||
- | | **Audio**InputStream | ||
- | |||
- | *이들은 모두 | ||
- | |||
- | ^ 입력스트림 | ||
- | | abstract int read() | ||
- | | int read(byte[] b) | Void write(byte[] b) | | ||
- | | int read(byte[] b, int off, int len | Void write(byte[] b, int off, int len | | ||
- | |||
- | | ||
===== 1.1 입출력이란? | ===== 1.1 입출력이란? | ||
*I/O란 input과 ouput의 약자로 입력과 출력, 간단히 줄여서 입출력이라고 한다. | *I/O란 input과 ouput의 약자로 입력과 출력, 간단히 줄여서 입출력이라고 한다. | ||
줄 60: | 줄 35: | ||
* 바이트기반 스트림은 입출력의 단위가 1Byte | * 바이트기반 스트림은 입출력의 단위가 1Byte | ||
* Char은 2byte형이기 때문에 바이트 기반의 스트림으로 처리하기 어렵기에 사용 | * Char은 2byte형이기 때문에 바이트 기반의 스트림으로 처리하기 어렵기에 사용 | ||
+ | |||
^ 바이트 기반 스트림 ^ 문자 기반 스트임 ^ | ^ 바이트 기반 스트림 ^ 문자 기반 스트임 ^ | ||
| FileInputStream | FileReader | | | FileInputStream | FileReader | |