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 |