File Input/Output Stream

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

'Java > I_O' 카테고리의 다른 글

File class(dir 출력)  (0) 2011.12.10
File class  (0) 2011.12.10
DataInputStream, DataOutputStream  (0) 2011.12.10
File Input Stream  (0) 2011.12.09
InputStream과 OutputStream  (0) 2011.11.30