본문 바로가기
Java

[Java] 데이터 입출력(2) BufferedReader, BufferedWriter

by happyhelen 2021. 8. 9.

InputStream, OutputStream 은 바이트단위였다면

BufferedReader, BufferedWriter 는 문자단위로 읽고 쓴다

(실무에서는 대부분의 이미지, 동영상, 텍스트 파일은 바이트단위여서 input, output을 더 자주쓰긴 한다)

InputStream, OutputStream

 


 

BufferedReader

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

public class No17_BufferedR {

	public static void main(String[] args) {
		
		String fileName = "C:\\Users\\1\\Hellojava.txt";
		
		BufferedReader br = null;
		FileReader fr = null;
		
		try {
			fr = new FileReader(fileName); // 파일리더로 파일 읽기
			br = new BufferedReader(fr); // fr을 매개변수로 br 에 담아놓기(확장)
			
			String strLine;
			
			// 한줄씩 읽어오는 readLine()
			while((strLine = br.readLine()) != null) System.out.println(strLine);
			
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if(br!= null) br.close();
				if(fr != null) fr.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

	}

}

 

 

 

BufferedWriter

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class No17_BufferedW {

	public static void main(String[] args) {
		String fileName = "C:\\Users\\1\\Hellojava_bf.txt";
		
		FileWriter fw = null;
		BufferedWriter bw = null;
		
		try {
			String str = "Hello java world!!@\n";
			str += "Hello C world too##\n";
			str += "Hello Python world hehe\n";
			
			fw = new FileWriter(fileName); // fileName으로 FileWriter 생성
			bw = new BufferedWriter(fw); // fw 로 FileWriter 확장 -> BufferedWriter
			bw.write(str);
			
			System.out.println("확인차 end");
			
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				// bw, fw 순서바뀌면 IOException
				if(bw != null) bw.close();
				if(fw != null) fw.close();
				
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

}