2021.06.17 - [IT 독학/JAVA] - [자바 ①] 자바 JAVA 이론 (객체지향언어 / 변수 / 연산자)
2021.06.18 - [IT 독학/JAVA] - [자바 ②] 자바 JAVA 이론 (제어문 / 조건문 / 반복문 / 분기문 )
2021.06.18 - [IT 독학/JAVA] - [자바 ③] 자바 JAVA 이론 (배열)
2021.06.19 - [IT 독학/JAVA] - [자바 ④] 자바 JAVA 이론 (객체 / 클래스 / 메소드 )
2021.06.19 - [IT 독학/JAVA] - [자바 ⑤] 자바 JAVA 이론 (객체의 특징 / 추상화 / 캡슐화 / 상속 / 다형성 )
2021.06.22 - [IT 독학/JAVA] - [자바 ⑥] 자바 JAVA 이론 (오버로딩 / 오버라이딩)
2021.06.22 - [IT 독학/JAVA] - [자바 ⑦] 자바 JAVA 이론 (추상 메소드 / 추상 클래스 / 인터페이스 )
2021.06.22 - [IT 독학/JAVA] - [자바 ⑧] 자바 JAVA 이론 (API)
2021.06.28 - [IT 독학/JAVA] - [자바 ⑨] 자바 JAVA 이론 (예외처리)
입출력 IO
입출력이란 입력과 출력, 외부장치와 프로그램 간에 데이터를 주고 받는 것을 말한다.
입력은 우리가 실생활에서 키보드에 입력할 때.. 마이크에 대고 말할 때를 예시로 들 수 있고
출력은 모니터로 보일 때, 스피커를 통해 소리가 나올 때를 예시로 들 수 있다.
스트림 Stream
스트림이란 입출력 시 두 대상 사이의 연결부를 말한다. 스트림은 단방향이고 입출력을 동시에 수행할 수 없다.
그래서 스트림에는 입력 스트림과 출력 스트림이 있다.
스트림은 Byte 단위로 입출력하는 바이트 스트림과 문자(2byte) 단위로 입출력하는 문자 스트림이 있다.
입력 스트림 Input Stream
- read( ); : 1byte씩 읽어오는 메소드
- read(byte[ ]); : [ ]크기만큼 읽어오는 메소드
FileInputStream
파일을 읽어 아스키코드의 byte를 읽어오는 메소드
DataInputStream
파일을 읽어 문자열 단위로 읽어오는 메소드
BufferedInputStream
파일을 읽어 문자열 단위로 읽어오는데 버퍼를 이용해 성능을 향상한 메소드
+ Buffer
버퍼는 입출력을 실시간으로 작업하는 게 아니라 한번에 작성하기 위해 데이터를 모아두는 곳을 말한다.
이는 입출력의 횟수를 줄여 성능을 높이는 목적이다.
출력 스트림 Output Stream
- write(byte[ ] b); : 1byte씩 출력하는 메소드
- write(byte[ ], int off, int len); : off(시작점)부터 len(길이)만큼 출력하는 메소드
FileoutputStream
파일을 자동으로 생성해주는 outputSream
만약 파일이 존재하는 경우에 사용한다면 overwrite 되는 문제 발생함
만약 기존의 파일에 이어쓰고 싶다면 true를 추가해주면 된다.
* 객체를 생성한다 = 통로를 연결한다
DataoutputStream
BufferedoutputStream
Reader
문자 단위로 입력되는 입력 스트림
FileReader
InputStreamReader
BufferedReader
Writer
문자 단위로 출력되는 출력 스트림
FileWriter
위의 FileoutputStream와 동일하다.
InputStreamWriter
BufferedWriter
'JAVA' 카테고리의 다른 글
[자바 ⑪] 자바 JAVA 이론 (자료구조 / List / Set / Map / Collection) (0) | 2021.06.28 |
---|---|
[자바 ⑨] 자바 JAVA 이론 (예외처리) (0) | 2021.06.28 |
Microsoft Open JDK 설치 (ms Java openJDK / openJDK SE 16) (0) | 2021.06.25 |
[자바 ⑦] 자바 JAVA 이론 (추상 메소드 / 추상 클래스 / 인터페이스 ) (0) | 2021.06.22 |
[자바 ⑥] 자바 JAVA 이론 (오버로딩 / 오버라이딩) (1) | 2021.06.22 |
댓글