바이트 기반 스트림: File 입출력 스트림

2022. 4. 24. 18:59·자바/입출력 IO

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
'자바/입출력 IO' 카테고리의 다른 글
  • 바이트 기반의 보조 스트림의 자손: Buffered 입출력 스트림
  • 바이트 기반의 보조 스트림의 조상: Filter 입출력 스트림
  • 바이트 기반 스트림: Byte 입출력 스트림
  • 보조 스트림과 문자 기반 스트림
백_곰
백_곰
  • 백_곰
    친절한 코딩
    백_곰
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 알고리즘 (with JAVA)
        • 기본 알고리즘
        • 완전 탐색
        • 분할 정복 알고리즘
        • 동적 계획법
        • 탐욕법
        • 코딩 테스트 기출 문제
        • 코드트리 조별과제
      • 백준 (with JAVA)
        • 완전 탐색
        • 분할 정복
        • 그 외
      • 자바
        • 개발 환경 구축하기
        • 팁
        • 기본적인 개념
        • 컬렉션 프레임워크
        • 프로세스와 쓰레드
        • 지네릭스
        • 람다식
        • 스트림
        • 입출력 IO
        • 네트워킹
        • 열거형(enums)
        • java.lang 패키지
        • java.time 패키지
        • 유용한 클래스들
        • 형식화 클래스들
      • 안드로이드 with 자바
        • 응용 문제들
        • 자잘한 문제들
        • 오류 보고서
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      Collections Framework
      코드트리
      자바 개념
      snail
      소켓 프로그래밍
      java.time 패키지
      serializable
      불안정 정렬
      선택 정렬
      file
      Arrays
      map()
      문자 기반 스트림
      다형성
      outputstream
      java.lang패키지
      InputStream
      중간연산
      스트림
      코딩트리조별과제
      안드로이드 스튜디오
      역직렬화
      유용한 클래스
      코딩테스트
      제자리 정렬
      알고스팟
      람다식
      안정 정렬
      TCP 소켓 프로그래밍
      ServerSocket
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    백_곰
    바이트 기반 스트림: File 입출력 스트림
    상단으로

    티스토리툴바