이전 섹션에서는 파일 바이트 출력 스트림을 구성하는 방법을 배웠습니다. 이 섹션에서는 출력 스트림을 사용하여 바이트를 쓰고 스트림을 닫는 방법을 계속해서 배웁니다.
출력 스트림의 목적은 대상에 채널을 제공하는 것입니다. 프로그램은 이 채널을 통해 프로그램의 데이터를 대상에 쓸 수 있습니다. 파일 바이트 스트림은 파일을 순차적으로 쓸 수 있습니다. FileOutStream 스트림은 콘텐츠를 파일에 순차적으로 씁니다. 즉, 스트림이 닫히지 않는 한 쓰기 메서드가 호출될 때마다 스트림이 닫힐 때까지 콘텐츠가 순차적으로 파일에 기록됩니다.
바이트 출력 스트림의 쓰기 메소드는 데이터를 대상에 바이트 단위로 씁니다.
출력 스트림은 이 메서드를 호출하여 대상에 단일 바이트를 씁니다.
출력 스트림은 이 메서드를 호출하여 대상에 바이트 배열을 씁니다.
오프셋에서 시작하여 지정된 바이트 배열의 len 바이트를 대상에 씁니다.
출력 스트림을 닫습니다.
참고 : FileOutputStream 스트림은 스트림이 닫히지 않는 한 스트림이 닫힐 때까지 write 메서드가 호출될 때마다 콘텐츠를 대상에 순차적으로 씁니다.
운영 체제는 프로그램이 출력 스트림에 쓴 바이트를 디스크에 저장하기 전에 때때로 메모리 버퍼에 저장됩니다. close() 메서드를 호출하면 운영 체제가 스트림 버퍼의 내용을 쓰는지 확인할 수 있습니다. 대상, 즉 출력 스트림을 닫으면 스트림에서 사용하는 버퍼의 내용을 일반적으로 디스크 파일로 플러시할 수 있습니다.
예를 들어:
importjava.io.*;publicclassMain{publicstaticvoidmain(Stringargs[]){byte[]a=새해 복 많이 받으세요.getBytes();byte[]b=HappyNewYear.getBytes();Filefile=newFile(a.txt);// 출력 대상 try{OutputStreamout=newFileOutputStream(file); //대상 출력 스트림을 가리킵니다. System.out.println(file.getName()+size:+file.length()+bytes);out.write( a) ;//대상에 데이터 쓰기 out.close();out=newFileOutputStream(file,true);//파일 끝에 내용 추가 준비 System.out.println(file.getName()+size:+ 파일 .length()+바이트);out.write(b,0,b.length);System.out.println(file.getName()+size:+file.length()+bytes);out.close( );}catch(IOExceptione){System.out.println(Error+e);}}}
실행 결과는 다음과 같습니다.
a.txt 크기: 0바이트 a.txt 크기: 12바이트 a.txt 크기: 26바이트