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();
			}
		}
	}
}
'Java' 카테고리의 다른 글
| [Java] Collections(2)_Map 인터페이스 (0) | 2021.08.24 | 
|---|---|
| [Java] 네트워킹 (0) | 2021.08.17 | 
| [Java] 데이터 입출력(1) FileInputStream, DataInputStream, FileOutputStream, DataOutputStream (0) | 2021.08.09 | 
| [Java] 예외처리 (0) | 2021.08.02 | 
| [Java] Collections(1)_List 인터페이스 (0) | 2021.08.02 |