안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
2017/04/01 - [자바] - 자바 IO 기반의 입출력과 네트워킹 => IO 패키지 / 입력 스트림, 출력 스트림
OutputStream : 추상 클래스이며 바이트 기반 출력 스트림의 최상위 클래스입니다.
모든 바이트 기반의 출력 스트림 클래스들은 이 클래스를 상속받아 만들어집니다.
-> FileOutputStream, PrintStream, BufferedOutputStream, DateOutputStream
write( int b ) : 매개 변수로 주어진 int 값에서 끝에 있는 1Byte만 출력 스트림으로 보냅니다.
매개 변수가 정수 타입이지만 4Byte를 모두 보내는 것은 아닙니다.
OutputStream outputStream = new OutputStream("파일 경로");
byte[] datas = "ABC".getBytes();
for( int i = 0; i< datas.length(); i++ ) {
outputStream.write(datas[i]);
}
write( byte[] b ) : 매개값으로 주어진 바이트 배열의 모든 바이트를 출력 스트림으로 보냅니다.
OutputStream outputStream = new OutputStream("파일 경로");
byte[] datas = "ABC".getBytes();
outputStream.write(datas);
=> "ABC" 를 한번에 모두 출력합니다.
write( byte[] b, int off, int len ) : b[off] 부터 len 개의 바이트를 출력 스트림으로 보냅니다.
OutputStream outputStream = new OutputStream("파일 경로");
byte[] datas = "ABC".getBytes();
outputStream.write(datas, 1,2);
=> "BC"만 출력
flush() 와 close() : 출력 스트림의 내부에는 작은 버퍼가 있습니다.
=> 데이터가 출력되기 전에 버퍼에 쌓여 있다가, 순서대로 출력합니다
flush()는 버퍼에 남아있는 데이터를 모두 출력시키고, 버퍼를 비우는 역할을 합니다.
더 이상 출력할 데이턱 없다면 flush()를 마지막에 호출해 버퍼에 남아있는 데이터가
모두 출력 되도록 해야 합니다.
OutputStream을 더 이상 사용하지 않는 다면 cose()를 호출해 사용했던 시스템 자원을 풀어줘야 합니다.
OutputStream os = new FileOutputStream("파일 경로");
byte[] datas = "ABC".getBytes();
os.write(datas);
os.flush();
os.close();
'자바' 카테고리의 다른 글
자바 콘솔 입출력 Java System.in, System.out (0) | 2017.04.04 |
---|---|
자바 입력 스트림과 출력 스트림 Java Reader, Writer (0) | 2017.04.01 |
자바 IO 기반의 입출력과 네트워킹 => IO 패키지 / 입력 스트림, 출력 스트림 (0) | 2017.04.01 |
자바 스트림 Java Stream => 기본 집계 ( sum(), count(), average(), max(), min() ) / 커스텀 집계 ( reduce() ) (0) | 2017.03.31 |
자바 스트림 Java Stream => 루핑 (peek(), forEach()) / 매칭( allMatch(), anyMatch(), noneMatch() ) (0) | 2017.03.31 |