본문 바로가기
JAVA

[자바 ⑩] 자바 JAVA 이론 (입출력 / IO / Input / Output)

by 비전공자 기록광 2021. 6. 28.
반응형

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

반응형

댓글