티스토리 뷰
기본적인 IO 처리
- 자바에서 입력과 출력은 stream을 통해서 이루어집니다.
- 일반적으로 IO라고 하면 파일IO만을 생각할 수 있는데, 어떤 디바이스를 통해 이뤄지는 작업을 모두 IO라고 합니다.
- 네트워크를 통해서 다른 서버로 데이터를 전송하거나
- 다른 서버로부터 데이터를 전송 받는 것도 IO에 포함됩니다.
- 간단하게 콘솔에 출력하는 것도 stream을 통해서 출력하는 것입니다.
스트림을 읽는 데 관련된 주요 클래스는 다음과 같습니다.
- 스트림을 쓰는 데 관련된 클래스는 Input을 Output으로 바꾸면 됩니다.
- 여기에 명시된 모든 입력과 관련된 스트림들을 java.io.InputStream 클래스로부터 상속받았습니다.
- 바이트 기반의 스트림 입력을 처리하기 위해서는 이 클래스의 하위 클래스를 사용합니다.
이름 | 내용 |
---|---|
ByteArrayInputStream | 바이트로 구성된 배열을 읽어서 입력 스트림을 만듭니다. |
FileInputStream | 이미지와 같은 바이너리 기반의 파일의 스트림을 만듭니다. |
FilterInputStream | 여러 종류의 유용한 입력 스트림의 추상 클래스입니다. |
ObjectInputStream | ObjectOutputStream을 통해서 저장해 놓은 객체를 읽기 위한 스트림을 만듭니다. |
PipedInputStream | PipedOutputStream을 통해서 출력된 스트림을 읽어 처리하기 위한 스트림을 만듭니다. |
SequenceInputStream | 별개인 두 개의 스트림을 하나의 스트림으로 만듭니다. |
- 문자열 기반의 스트림을 읽기 위해서 사용하는 클래스는 java.io.Reader 클래스의 하위 클래스들입니다.
이름 | 내용 |
---|---|
BufferedReader | 문자열 입력 스트림을 버퍼에 담아서 처리합니다. 일반적으로 문자열 기반의 파일을 읽을 때 가장 많이 사용됩니다. |
CharArrayReader | char의 배열로 된 문자 배열을 처리합니다. |
FilterReader | 문자열 기반의 스트림을 처리하기 위한 추상 클래스입니다. |
FileReader | 문자열 기반의 파일을 읽기 위한 클래스입니다. |
InputStreamReader | 바이트 기반의 스트림을 문자열 기반의 스트림으로 연결하는 역할을 수행합니다. |
PipedReader | 파이프 스트림을 읽습니다. |
StringReader | 문자열 기반의 소스를 읽습니다. |
정리
- 바이트 단위로 읽거나, 문자열 단위로 읽을 때 중요한 것은 한 번 open한 스트림은 반드시 닫아야 한다는 것이다.
- 스트림을 닫지 않으면 나중에 리소스가 부족해질 수 있다.
'Language > Java' 카테고리의 다른 글
Synchronized (0) | 2018.06.01 |
---|---|
Thread Class & Runnable Interface (0) | 2018.06.01 |
Process & Thread (0) | 2018.06.01 |
Static (0) | 2018.06.01 |
System Class (0) | 2018.06.01 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- ngrinder
- output
- Cross Origin
- Groovy
- SPOF
- Spring Boot
- https
- HTTP
- redis
- 404
- cross
- 대규모
- Token
- cors
- auth
- JWT
- class
- Java
- stateless
- NoSQL
- stateful
- Runnable
- MongoDB
- iinput
- synchronized
- web
- thread
- URI
- ehcache
- script
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함