Java/I_O
File Input/Output Stream
krvision
2011. 12. 9. 20:18
import java.io.*; // BufferedInputStream 사용 필터링을 수행하는 스트림, //바이트 단위로 들어오는 데이터를 버퍼에 차곡차곡 모아서 읽어 들인다 //데이터는 버퍼에 누적되고 버퍼가 가득차면 한꺼번에 읽어 들인다. 기본 버퍼크기:512byte class BIStream1 { public static void main(String[] args) throws Exception { //데이터 소스 : 키보드 //노드스트림 : System.in //필터스트림 : BufferedInputStream InputStream is = System.in; BufferedInputStream bis = new BufferedInputStream(is); //필터링-노드스트림과 필터 스트림을 연결 PrintStream ps = System.out; BufferedOutputStream bos = new BufferedOutputStream(ps); int r=0; byte ba[] = new byte[100]; while((r=bis.read(ba)) != -1) { bos.write(ba); bos.flush(); }//while--------------------- bis.close(); bos.close(); is.close(); ps.close(); }//main()----------- }/////////////////////////////////////////////////////////////////////////// import java.io.*; class BIStream2 { public static void main(String[] args) throws Exception { //데이터 소스 : 파일(BIStream1.java) //데이터 목적지 : 콘솔, 파일[Result.txt]로 출력 //BufferedInputStream과 BufferedOutputStream으로 필터링을 이용해서 구현 FileInputStream fis = new FileInputStream("BIStream1.java"); BufferedInputStream bis = new BufferedInputStream(fis); //필터링-노드스트림과 필터 스트림을 연결 BufferedOutputStream bos = new BufferedOutputStream(System.out); BufferedOutputStream bos2 = new BufferedOutputStream( new FileOutputStream("Result.txt")); int r=0; while((r=bis.read()) != -1) { bos.write(r); //콘솔에 쓰고 bos2.write(r); //파일에 쓰고 bos.flush(); bos2.flush(); }//while--------------------- bis.close(); bos.close(); bos2.close(); fis.close(); System.out.close(); }//main()----------- }/////////////////////////////////////////////////////////////////////////////////////