1. 파일 입출력 스트림
- 실제 프로그래밍에서 많이 사용되는 스트림 중의 하나이다.
- 아래는 FileInputStream의 생성자이다.
(1) FileInputStream(String name)
: 매개변수 name을 실제 파일과 연결된 FileInputStreamd을 생성한다.
(2) FileInputStream(File file)
: 파일의 이름이 String이 아닌 File 인스턴스로 지정해주어야 하는 점을 제외하고는
(1) 생성자와 동일하다.
(3) FileInputStream(FileDescriptor fdObj)
: 파일 디스크립터 매개변수로 FileInputStream을 생성한다.
- 아래는 FileOutputStream의 생성자이다.
(1) FileOutputStream(String name)
: 매개변수 name을 실제 파일과 연결된 FileOutputStream을 생성한다.
(2) FileOutputStream(String name, boolean append)
: 매개변수 name까지는 (1)번과 같고, 두 번째 인자 append를 true로 주면, 출력 시 기존의
파일 내용의 마지막에 덧붙인다.
: 만약 false라면, 반대로 기존의 파일 내용을 덮어쓰게 된다.
(3) FileOutputStream(File file)
: 파일의 이름이 String이 아닌 File 인스턴스로 지정해주어야 하는 점을 제외하고는
(1) 생성자와 동일하다.
(4) FileOutputStream(File file, boolean append)
: 매개변수 file은 (3)과 같고, 매개변수 append는 (2)의 append와 동일하다.
(5) FileOutputStream(FileDescriptor fdObj)
: 파일 디스크립터 매개변수로 FileOutputStream을 생성한다.
2. 파일 입출력 스트림을 이해하기 위한 예제(1)
( 변수 data으로 받으므로 반환값이 int이지만 read()의 반환 값범위는 1byte (0~255)의 값을
가지므로, char c로 변환해도 손실이 없기 때문에 가능하다. )
( int로 반환값을 받으면 다소 크게 보이지만, -1(값 없음)을 또 받아야 하기 때문에 int는 정수형
중에서는 가장 효율적이고 빠르다. )
3. 파일 입출력 스트림을 이해하기 위한 예제(2)
: 파일 입출력 스트림을 이용하여 하나의 파일에서 복사하여 다른 파일에 옮기는 예제이다.
( 출력할 때는 파일을 생성하지 않아도, 자동으로 생성된다. )
( 만약 텍스트 파일을 다루는 경우에는 문자 기반의 FileReader와 FileWriter를 사용하는 것이 더 좋다. )
'자바 > 입출력 IO' 카테고리의 다른 글
바이트 기반의 보조 스트림의 자손: Buffered 입출력 스트림 (0) | 2022.04.24 |
---|---|
바이트 기반의 보조 스트림의 조상: Filter 입출력 스트림 (0) | 2022.04.24 |
바이트 기반 스트림: Byte 입출력 스트림 (0) | 2022.04.24 |
보조 스트림과 문자 기반 스트림 (0) | 2022.04.22 |
입출력의 개념 (0) | 2022.04.21 |