Bufferd스트림: 입출력 향상 / 문자 기반

조수경·2021년 11월 15일
0

고급자바

목록 보기
36/97
package kr.or.didt.basic;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class BufferedIOTest01 {

	public static void main(String[] args) {

		//입출력의 성능 향상을 위해서 Bufferd스트림을 사용한다.
		try {
			FileOutputStream fout = new FileOutputStream("d:/d_other/bufferTest.txt");
			
			//버퍼의 크기가 5일 버퍼스트림 객체 생성
			//버퍼의 크기를 정하지 않으면 8KB(8192bytes)의 크기로 설정된다.
			BufferedOutputStream bout = new BufferedOutputStream(fout, 5);
			
			for (char ch = '1'; ch <='9'; ch++) {
				bout.write(ch);
			}
			//출력된 데이터를 읽어야할 작업을 해야할때는?
			//출력 작업이 마무리되면 flush명령어를 사용해서 작업하는것
			bout.flush(); // 작업을 종료하기 전에 버퍼에 남아있는 
			              // 데이터를 모두 출력 시킨다.
			System.out.println("출력 작업 끝...");
			
			bout.close(); //스트림 닫기 ==> 보조 스트림을 닫으면
			              // 보조 스트림이 사용하는 기반이 되는 스트림도 같이 닫힌다.
			
		} catch (IOException e) {
			// TODO: handle exception
		}
		
	}

}
package kr.or.didt.basic;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class BufferedIOTest02 {

	public static void main(String[] args) {

		// 문자 기반의 Buffered스트림 사용 예제
		try {
			
			//이클립스에서의 자바 프로그램이 실행되는 현재 위치는
			//해당 프로젝트 폴더가 현재 위치가 된다.
			FileReader fr = new FileReader("./src/kr/or/ddit/basic/FileTest01.java");
			
			BufferedReader br = new BufferedReader(fr);
			
			String temp ="";
			
			for (int i = 1; (temp=br.readLine()) != null; i++) {
//중간은 다른 조건식을 쓸수도 있음!! 몇번줄의 데이터를 표시하기 위해서 줄번호 역할을 하는것
				System.out.printf("%4d : %s\n", i, temp); //%d는 숫자를 출력하라는 소리
			}
			
			br.close();
			
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}

}
profile
신입 개발자 입니다!!!

0개의 댓글

관련 채용 정보