JAVA/자바와 데이터 다루기

BufferedReader, FileWriter 사용법

DEVLIB 2025. 4. 13. 18:37
728x90

 BufferedReader – 파일에서 읽기

기본 사용법

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

public class ReadExample {
    public static void main(String[] args) {
        try {
            BufferedReader reader = new BufferedReader(new FileReader("example.txt"));
            String line;

            while ((line = reader.readLine()) != null) {
                System.out.println("읽은 줄: " + line);
            }

            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

 

주요 메서드

메서드 설명
readLine() 한 줄씩 문자열 읽기 (더 이상 읽을 줄이 없으면 null 반환)
close() 파일 닫기 (메모리 누수 방지)

2. FileWriter – 파일에 쓰기

기본 사용법

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

public class WriteExample {
    public static void main(String[] args) {
        try {
            FileWriter writer = new FileWriter("example.txt");  // 덮어쓰기 모드
            writer.write("첫 번째 줄\n");
            writer.write("두 번째 줄\n");
            writer.close();

            System.out.println("파일 쓰기 완료");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

추가 쓰기 모드 (덮어쓰기 방지)

ileWriter writer = new FileWriter("example.txt", true);  // true = append

3. 함께 사용: BufferedWriter로 성능 향상

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

public class BufferedWriteExample {
    public static void main(String[] args) {
        try {
            BufferedWriter bw = new BufferedWriter(new FileWriter("example.txt"));
            bw.write("Buffered로 쓴 첫 줄");
            bw.newLine();  // 줄바꿈
            bw.write("Buffered로 쓴 두 번째 줄");
            bw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

예외 처리와 파일 경로

  • 반드시 try-catch 또는 throws IOException을 사용해야 함
  • "example.txt": 현재 프로젝트 폴더 기준
  • "C:/data/info.txt": 절대 경로 사용 가능

마무리 요약


목적 클래스 주요 메서드
파일 읽기 BufferedReader + FileReader readLine(), close()
파일 쓰기 FileWriter, BufferedWriter write(), newLine(), close()
덮어쓰기/추가 FileWriter(file, true) true → append 모드

실습 아이디어

  • 사용자 입력을 받아 파일로 저장
  • 텍스트 파일을 줄 단위로 출력
  • 성적표 저장 & 다시 읽어오기 프로그램
LIST