버퍼처리하기
버퍼에 있는 데이터를 읽기 위한 BufferedReader는 FileReader와 결과는 동일하지만 버퍼드 리더는 Buffer 공간을 할당받아 처리하기 때문에 입출력 속도가 향상된다.
이렇게 버퍼 메모리에 내용을 저장하여 처리 속도를 증가시킬 수 있다.
package java0808;
import java.io.BufferedReader;
import java.io.FileReader;
public class Test07 {
public static void main(String[] args) {
FileReader fr = null;
BufferedReader br = null;
try {
fr = new FileReader("C:/Jwork/king.txt");
br = new BufferedReader(fr); // king.txt 내용이 버퍼 메모리에 올라감 => 처리속도 증가
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) {
}
}
}
}

byte stream
package java0808;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test08 {
public static void main(String[] args) throws IOException {
File f = new File("C:/Jwork/ByteST.java");
// 이진 파일을 지정 => ~.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();
}
}

FileWriter 파일 쓰기
캐릭터라이트스트림의 라이트를 쓴다.
package java0808;
import java.io.FileWriter;
public class Test09 {
public static void main(String[] args) {
FileWriter fw = null; // 파일라이터 객체 생성 후
try {
fw = new FileWriter("C:/Jwork/fileW.txt");
String str = "나는 FileWriter의 예제이다."; // str에 내용을 넣고
fw.write(str); // str내용을 write로 옮기겠다.
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fw != null)
fw.close();
} catch (Exception e2) {
}
}
}
}


버퍼라이터 예문
버퍼에다가 내용을 쓸 때
package java0808;
import java.io.BufferedWriter;
import java.io.FileWriter;
public class Test10 {
public static void main(String[] args) {
FileWriter fw = null;
BufferedWriter bw = null;
try {
fw = new FileWriter("C:/Jwork/bufw.txt");
bw = new BufferedWriter(fw);
bw.write("BufferedWrite 테스트");
bw.newLine(); // 뉴라인은 한 줄씩 아래로 띄우는 메소드. 파일을 쓸 때 \n과 유사한 기능
// FileWriter로 파일에 입력할때는 끝에 줄바꿈을 넣기 위해 "\r\n"을 꼭 붙여줘야 하는데 \r\n과 유사함!
bw.write("갑돌이와 갑순이는 한 마을에 살았더래요." + System.getProperty("line.separator"));
// System.getProperty는 문장을 쓸 곳에서 라인의 끝임을 알림. 없어도 되지만 있으면 속도 면에서 처리가 빨라짐 !!
bw.flush(); // 이를 써 주어야 버퍼의 내용이 실제로 파일에 기록이 되고 버퍼는 비워진다!! 제일 중요!
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fw != null)
fw.close();
if (bw != null)
bw.close();
} catch (Exception e) {
}
}
}
}


'JAVA' 카테고리의 다른 글
| [JAVA] JDBC (0) | 2022.08.09 |
|---|---|
| [JAVA] Server Socket 서버 클라이언트 프로그램 만들기 (0) | 2022.08.08 |
| [JAVA]file class (0) | 2022.08.08 |
| [JAVA] IO(Input/Output) (0) | 2022.08.03 |
| [JAVA] 제네릭(Generic) (0) | 2022.08.03 |
댓글