BackEnd/JAVA
JAVA BufferedReader
H_Develop
2022. 8. 9. 09:22
버퍼 처리하기
버퍼에 있는 데이터를 읽기 위한 BufferedReader는 FileReader와 결과는 동일하지만,
BufferedReader는 Buffer 공간을 할당받아 처리하기 때문에, 입출력 속도가 향상된다.
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader("C:/dev/king.txt");
br = new BufferedReader(fr);
String msg;
while ((msg = br.readLine()) != null) {
System.out.println(msg);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(fr != null) {
fr.close();
}
if(br != null) {
br.close();
}
} catch (Exception e) {}
}
king.txt 내용을 버퍼리더에 저장하여 출력
class Test{
public static void main(String[] args) throws IOException {
File f =new File("C:/dev/ByteST.java");
FileInputStream fis = new FileInputStream(f);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
// Byte Stream은 줄 단위 처리가 불가해서 BufferedReader가 있어야 한다.
String str;
while((str=br.readLine()) != null) {
System.out.println(str);
}
if(fis != null) {
fis.close();
}
if(br != null) {
br.close();
}
}
}
java 확장자 파일 안에 내용을 출력, 파일을 컴파일해서 나오는 결과값을 출력하는 것이아닌,
package myjava;
class Test{
...
모든 내용이 나온다
파일 생성 및 내용 입력
FileWriter fw = null;
try {
fw = new FileWriter("C:/dev/filew.txt");
String str = "나는 FileWriter의 예제이다."; // 내용 입력
fw.write(str);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(fw != null) {
fw.close();
}
} catch (Exception e2) {}
}
FileWriter fw = null;
BufferedWriter bw = null;
try {
fw = new FileWriter("C:/dev/bufw.txt");
bw = new BufferedWriter(fw);
bw.write("BufferedWrite test");
bw.newLine(); // 한 줄 아래로 내림. \n == bw.write("\r\n")과 유사하다.
bw.write("갑돌이와 갑순이는 한 마을 살았더래요" + System.getProperty("line.separator"));
// System.getProperty("line.separator")
// 문장 쓸 곳에서 라인의 끝임을 알린다. 없어도 상관 없지만 속도에 강점이 붙는다.
bw.flush();
// 비로써, 버퍼의 내용이 파일에 기록되고 버퍼는 비워진다.
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(fw != null) { fw.close(); }
if(bw != null) {bw.close();}
} catch (Exception e) {}
}