본문 바로가기
Programming/Java

[Java]File Write/쓰기 (OutputStream/BufferedOutputStream)

by 빅경 2024. 6. 8.
728x90
반응형

OutputStream

  • OutputStream은 Java에서 바이트 기반의 출력을 위한 추상 클래스입니다. 이 클래스는 파일, 네트워크 연결, 메모리 버퍼 등 다양한 데이터 대상으로 바이트 데이터를 쓰는 데 사용됩니다. OutputStream의 구체적인 서브클래스로는 FileOutputStream, BufferedOutputStream, ByteArrayOutputStream, SocketOutputStream 등이 있습니다.

 

  • void write(byte[] b):
    • 바이트 배열 b의 모든 바이트를 출력 스트림에 씁니다.
  • void write(byte[] b, int off, int len):
    • 바이트 배열 b의 off 위치에서 시작하여 len 길이만큼의 바이트를 출력 스트림에 씁니다.
  • void flush():
    • 출력 스트림을 플러시하여 모든 버퍼된 출력을 강제로 쓰게 합니다. 버퍼링된 스트림(BufferedOutputStream 등)에서 유용합니다.
  • void close():
    • 출력 스트림을 닫고 관련된 모든 시스템 자원을 해제합니다.

 

BufferedOutputStream

BufferedOutputStream은 OutputStream의 서브클래스로, 버퍼를 사용하여 출력 스트림에 데이터를 효율적으로 씁니다. 작은 크기의 쓰기 작업이 많을 경우 성능이 향상됩니다.

 

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class BufferedOutputStreamExample {
    public static void main(String[] args) {
        String filePath = "example.txt";
        String content = "Hello, World!";

        try (OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(filePath))) {
            byte[] data = content.getBytes();
            outputStream.write(data);
            outputStream.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

 

728x90
반응형