728x90
스트림 입출력
버퍼를 가지고 순차적으로 이루어지는 입출력
자바의 입출력 스트림
응용프로그램과 입출력 장치를 연결하는 소프트웨어 모듈
입력 스트림 : 입력 장치로부터 자바 프로그램으로 데이터를 전달
출력 스트림 : 출력 장치로 데이터 출력
자바의 입출력 스트림 특징
스트림의 양끝에 입출력장치와 자바 응용프로그램 연결
스트림은 단방향
입력과 출력을 동시에 하는 스트림 없음
입출력 스트림 기본 단위
바이트 스트림의 경우 : 바이트
문자 스트림의 경우 : 문자(자바에서는 문자1개 : 2 바이트)
선입선출 구조
자바의 입출력 스트림 종류
바이트 스트림과 문자 스트림
바이트 스트림
입출력되는 데이터를 단순 바이트로 처리
예) 바이너리 파일을 읽는 입력 스트림
문자 스트림
문자만 입출력하는 스트림
문자가 아닌 바이너리 데이터는 스트림에서 처리하지 못함
예) 텍스트 파일을 읽는 입력 스트림
JDK는 입출력 스트림을 구현한 다양한 클래스 제공
문자 스트림
문자 스트림
유니 코드(2바이트) 문자를 입출력 하는 스트림
문자로 표현되지 않는 데이터는 다루지 못함
이미지, 동영상과 같은 바이너리 데이터는 입출력 할 수 없음
문자 스트림을 다루는 클래스
Reader/Writer
InputStreamReader/OutputStreamWriter
FileReader/FileWriter
텍스트 파일에서 문자 데이터 입출력
FileReader을 이용한 파일 읽기

FileReader로 텍스트 파일 읽기
FileReader를 이용하여 c:\windows\system.ini 파일을 읽어 화면에 출력하는 프로그램을 작성하라. system.ini는 텍스트 파일이다.
InputStreamReader로 한글 텍스트 파일 읽기
FileWriter 사용 예
문자 단위 쓰기
블록 단위 쓰기
FileOutputStream을 이용한 파일 쓰기
FileInputStream으로 바이너리 파일 읽기
버퍼 입출력 스트림과 버퍼 입출력의 특징
버퍼 스트림
버퍼를 가진 스트림
입출력 데이터를 일시적으로 저장하는 버퍼를 이용하여 입출력 효율 개선
버퍼 입출력의 목적
입출력 시 운영체제의 API 호출 횟수를 줄여 입출력 성능 개선
출력시 여러 번 출력되는 데이터를 버퍼에 모아두고 한 번에 장치로 출력
입력시 입력 데이터를 버퍼에 모아두고 한번에 프로그램에게 전달
버퍼 스트림의 종류
바이트 버퍼 스트림
바이트 단위의 바이너리 데이터를 처리하는 버퍼 스트림
BufferedInputStream와 BufferedOutputStream
문자 버퍼 스트림
유니코드의 문자 데이터만 처리하는 버퍼 스트림
BufferedReader와 BufferedWriter
File 클래스
File 클래스
파일의 경로명을 다루는 클래스
java.io.File
파일과 디렉터리 경로명의 추상적 표현
파일 관리 기능
파일 이름 변경, 삭제, 디렉터리 생성, 크기 등 파일 관리
File 객체는 파일 읽고 쓰기 기능 없음
병렬처리
- 순차처리
- 문제가 일련의 개별 명령어로 나누어져있다.
- 명령어들은 순차적으로 하나씩 단일 프로세서에 실행이 된다. - 병렬처리
- 문제가 동시에 해결할 수 있는 독립적인 부분들로 나눌 수 있다.
- 부분화된 작업들은 서로 다른 프로세서에서 동시에 실행된다.
- 동시에 작업하는 과정은 항상 제어와 조정의 알고리즘이 필요하다.
728x90
'JAVA > JAVA 정리' 카테고리의 다른 글
[JAVA] Marshalling, UnMarshalling, JAXB 란 ? (0) | 2023.05.29 |
---|---|
[JAVA] JAVA 네트워크란 ? (0) | 2023.05.28 |
[JAVA] 컬렉션 프레임워크 (0) | 2023.05.26 |
[JAVA] 람다식 (0) | 2023.05.10 |
[JAVA] 예외처리 (0) | 2023.05.09 |