본문 바로가기

데이터 입출력

바이트 출력 스트림

OutputStream

  • OutputStream은 바이트 출력 스트림의 최상위 클래스로 추상 클래스

  • 모든 바이트 출력 스트림 클래스는 이 OutputStream 클래스를 상속받아서 만들어짐


    출처, 이것이 자바다


  • OutputStream 클래스에는 모든 바이트 출력 스트림이 기본적으로 가져야 할 메소드가 정의됨


    출처, 이것이 자바다


    ## 1바이트 출력
  • write(int b) 메소드: 매개값 int(4byte)에서 끝 1byte만 출력. 매개변수는 int 타입


    출처, 이것이 자바다


package ch18.sec02.exam01;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;

/*
 입출력 스트림 예제
  - 파일을 생성및 바이트기반으로 데이터 쓰기 작업하는 예제. 
  - FileOutputStream 클래스 : 파일에 대하여, 바이트 기반으로 출력작업을 하는 기능 
  - 최상위 클래스 : OutputStream 클래스.
  - 데이터 작업 성격 : 
    1)바이트(Stream) : 클래스명이 Stream 이름으로 끝난다. 
    2)문자
 */

public class WriteExample {

    public static void main(String[] args) throws Exception {

        //부모 클래스 변수로 자식 객체 대입.
        OutputStream os = new FileOutputStream("C:/dev/temp/test1.db"); //바이트로 작업하겠다는 의미 //파일생성.

        //바이트 기반 데이터 작업
        byte a = 10;
        byte b = 20;
        byte c = 30;

        //바이트 스트림 객체에 바이트 기반 데이터 저장.
        os.write(a);
        os.write(b);
        os.write(c);

        //test1.db 파일이 스트림(연결통로)에 저장되어 있는 데이터를 파일에 쓰는 작업
        os.flush();

        //연결을 닫기.
        os.close();        
    }
}

바이트 배열 출력

  • write(byte[ ] b) 메소드: 매개값으로 주어진 배열의 모든 바이트를 출력
  • 배열의 일부분을 출력하려면 write(byte[ ] b, int off, int len) 메소드를 사용


    출처, 이것이 자바다


package ch18.sec02.exam02;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class WriteExample {

    public static void main(String[] args) throws Exception {

        //부모 클래스 변수로 자식 객체 대입.
        OutputStream os = new FileOutputStream("C:/dev/temp/test2.db"); //바이트로 작업하겠다는 의미 //파일생성.

        //바이트 기반 데이터 작업
        byte[] array = {10, 20, 30};

        os.write(array);

        //test2.db 파일이 스트림(연결통로)에 저장되어 있는 데이터를 파일에 쓰는 작업
        os.flush();

        //연결을 닫기.
        os.close();
        }
}


출처, 이것이 자바다


package ch18.sec02.exam03;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class WriteExample {

    public static void main(String[] args) {

        try {
            OutputStream os = new FileOutputStream("C:/dev/temp/test1.db");

            byte[] array = {10, 20, 30, 40, 50};

            os.write(array, 2, 3); //byte 배열의 인덱스 1 위치에서 3개를 읽어와서, 출력스트림에 저장한다.

            os.flush();
            os.close();

        } catch (Exception e) { //Exception 최상위 예외 문구
            e.printStackTrace();
        }
    }
}

'데이터 입출력' 카테고리의 다른 글

문자 변환 스트림  (0) 2023.02.08
보조 스트림  (0) 2023.02.08
문자 입출력 스트림  (0) 2023.02.08
바이트 입력 스트림  (0) 2023.02.08
입출력 스트림  (0) 2023.02.08