입출력(INPUT/OUTPUT)
- 스트림(Stream)
- 입력스트림(InputStream) / 출력스트림(OutputStream)
- 문자기반 스트림 (Reader / Writer)
입출력(INPUT/OUTPUT)
1. 스트림(Stream)
[정의]
- 데이터를 운반하는 사용되는 연결통로(단방향 통신)
- 1개의 스트림으로 입력, 출력을 동시에 처리 할 수 없다.
출처:https://kerpect.tistory.com/52
2. 입력스트림(InputStream) / 출력스트림(OutputStream)
[정의]
- 모든 바이트기반 스트림의 조상이다.
- InputStream의 read() : 읽기
- OutputStream의 write(int b) : 쓰기
- FileInputStream / FileOutputStream은 파일에 입출력을 하기 위한 스트링이며 가장 많이 사용되는 스트림이다.
[바이트기반의 보조스트림]
- BufferedInputStream / BufferedOutputStream
- 스트림의 입출력 효율을 높이기 위해 버퍼를 사용하는 보조스트림이다.
- 한 byte씩 입출력하는 것 보다는 buffer(byte[])를 이용해서 한번에 여러 바이트를 입출력하는 것이 빠르기 때문에 대부분의 입출력 작업에 사용된다.
출처: https://kerpect.tistory.com/52
3. 문자기반 스트림 (Reader / Writer)
[정의]
- 문자데이터를 사용하는 char[] 기반 스트림
- 모든 문자기반의 스트림의 조상이다.
- I/O에서 쓰이는 byte[] 대신 char[]을 사용한다.
[FileReader / FileWriter]
- 파일로부터 텍스트 데이터를 읽고, 파일에 쓰는데 사용된다.
- FileInputStream / FIleOutputStream 과의 차이점은 Reader / Writer는 인코딩과 자바에서 사용하는 유니코드(UTF-16)간의 변환을 자동적으로 처리해준다.
[문자기반의 보조스트림]
- BufferedReader / BufferedWriter
- 정의는 바이트기반의 Buffered와 동일하다. (입출력 효율을 높이기 위해 사용)
- BufferedReader의 readLine() 을 사용하면 데이터를 라인단위로 읽을 수 있다.
- BufferedWriter의 newLine() 이라는 줄바꿈 해주는 메서드를 가지고있다.
출처: https://kerpect.tistory.com/52
MEMO>
# 데이터 구조는 CSV(comma-separated values) 형식을 갖는것이 좋다. (콤마로 구분)
'인천일보아카데미 > - 학습일지' 카테고리의 다른 글
[학습일지]JAVA교육일지 39일차 (0) | 2022.06.15 |
---|---|
[학습일지]JAVA교육일지 38일차 (0) | 2022.06.15 |
[학습일지]JAVA교육일지 35일차 (0) | 2022.06.13 |
[학습일지]JAVA교육일지 33일차 (0) | 2022.06.13 |
[학습일지]JAVA교육일지 32일차 (0) | 2022.06.10 |