자바스크립트를 허용해주세요.
[ 자바스크립트 활성화 방법 ]
from Mohon Aktifkan Javascript!
 

[Java] 10장 파일 입출력

728x90

1. 파일 읽기

BuffredReader는 파일을 한 줄씩 읽을 때 효율적인 코드이며, 내부적으로 버퍼를 사용해 읽기 성능을 올려줍니다.

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

public class FileReaderExample {

    public static void main(String[] args) {
        String filePath = "output.txt";

        try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
            String line;
            while ((line = br.readLine()) != null) {
                // Process the line read from the file 
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  • FileReader: 파일에서 문자를 읽어오는 기본 클래스 
  • BuffredReader: 읽기 속도를 높혀, readline() 같은 편리한 메서드 제공
  • try-with-resources: 파일 닫기 자동 처리(close() 불필요함)

2. 파일 쓰기 

BuffredWriter는 문자열을 버퍼에 모으고 한 번에 써서 속도가 빠릅니다 

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

public class FileWriterExample {

    public static void main(String[] args) {
        String filePath = "output.txt";

        try (BufferedWriter bw = new BufferedWriter(new FileWriter(filePath))) {
            bw.write("Hello,World!");
            bw.newLine(); // Write a new line
            bw.write("This is a test file");
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

 

  • FileWriter : 파일에 문자 쓰기 
  • BuffredWriter: 쓰기 속도 향상, newLine() 지원
  • append 모드: new FileWriter(filePath, true) 뒤에 내용 추가 가능

3. 읽기 + 쓰기 (파일 복사)

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

public class FileCopyExample {

    public static void main(String[] args) {
        String source = "output.txt";
        String description = "description.txt";

        try (BufferedReader br = new BufferedReader(new FileReader(source)); BufferedWriter bw = new BufferedWriter(new FileWriter(description))) {
            String line;
            while ((line = br.readLine()) != null) {
                bw.write(line);
                bw.newLine(); // Write a new line after each line read
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  •  
  • BuffredReader: readLine()으로 한 줄씩 읽기
  • BuffredWriter: 버퍼에 모아뒀다 한 번에 쓰기, 줄바꿈은 newLine() 
  • try-with-resources: close() 자동 호출, 자원 누수 방지
  • FileReader / FileWriter도 사용 가능하나, 큰 파일을 처리할 때 Buffred 계열을 사용하는 것이 성능에 유리

 

 

GitHub - Koras02/java-bloging: https://thinky.tistory.com/category/Back-End/Java

https://thinky.tistory.com/category/Back-End/Java. Contribute to Koras02/java-bloging development by creating an account on GitHub.

github.com

 

728x90
LIST

'Back-End > Java' 카테고리의 다른 글

[Java] 12장 프로젝트 생성(완)  (0) 2025.08.12
[Java] 11장 멀티 스레딩  (4) 2025.08.10
[Java] 9장 컬렉션 프레임워크  (0) 2025.03.25
[Java] 8장 try-catch 문  (0) 2025.03.18
[Java] 7장 인터페이스  (0) 2025.03.08