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();
}
}