문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| study:java:javachobo:ch14 [2010/04/02 01:24] – ziro0914 | study:java:javachobo:ch14 [2025/10/03 22:30] (현재) – 바깥 편집 127.0.0.1 | ||
|---|---|---|---|
| 줄 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 | | ||