Java/18. IO 기반 입출력 및 네트워킹

Day 23 : 입력 스트림과 출력 스트림 - OutputStream

pancakemaker 2021. 11. 18. 10:18

OutputStream

: 바이트 기반 출력 스트림의 최상위 클래스로 추상 클래스

 

OutputStream의 주요 메소드

 

flush() 메소드

: 프로그램에서 더 이상 출력할 데이터가 없다면 flush() 메소드를 마지막으로 호출하여 버퍼에 잔류하는 모든 데이터가 출력되도록 해야함

 

close() 메소드

: OutputStream에서 사용했던 시스템 자원을 풀어줌

 

예제 실습을 위해 먼저 C:/Temp에 txt 파일을 생성한다.

 

1. write(int b)

: 매개 변수로 주어진 int 값에서 끝에 있는 1바이트만 출력 스트림으로 보냄

 

2. write(byte[] b)

: 바이트 배열의 모든 바이트를 출력 스트림으로 보냄

package sec02.exam02_outputstream_write_YJ;

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

public class WriteExample1 {
	public static void main(String[] args) throws Exception {
		OutputStream os = new FileOutputStream("C:/Temp/test.txt");
		byte[] data = "ABC".getBytes();
		/*
		for(int i=0; i<data.length; i++) {
			os.write(data[i]);
		}
		*/
		os.write(data);
		os.flush();
		os.close();
	}
}

 

3. write(byte[] b, int off, int len)

: b[off]부터 len개의 바이트를 출력 스트림으로 보냄

package sec02.exam02_outputstream_write_YJ;

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

public class WriteExample2 {
	public static void main(String[] args) throws Exception {
		OutputStream os = new FileOutputStream("C:/Temp/test.txt");
		byte[] data = "ABC".getBytes();
		/*
		for(int i=0; i<data.length; i++) {
			os.write(data[i]);
		}
		*/
		os.write(data, 1, 2);
		os.flush();
		os.close();
	}
}