본문 바로가기

Language/Java

[Java] BufferedReader와 BufferedWriter 간단 예제

반응형

Intro

최근에 업로드한 게시글인 Socket 관련하여 프로젝트를 만들어 보는 중 기본적인 클래스들에 대한 기초 지식이 부족한 것 같다는 생각이 들어 BufferedReader와 BufferedWriter에 관한 간단한 예제와 함께 설명 드리려 합니다.

 

BufferedReaderBufferedWriter는 자바의 I/O 패키지에 있는 클래스 중 하나로,
각각 입력과 출력 스트림을 버퍼링하여 입출력 속도를 향상시키는 역할을 합니다 .

 

BufferedReader

  • BufferedReader는 파일의 내용을 읽기 위해 사용됩니다. FileReader 클래스를 사용하여 파일을 열고, BufferedReader 클래스를 사용하여 파일에서 읽어온 데이터를 버퍼링합니다.
try {
    BufferedReader reader = new BufferedReader(new FileReader("example.txt"));
    String line = reader.readLine();
    while (line != null) {
        System.out.println(line);
        line = reader.readLine();
    }
    reader.close();
} catch (IOException e) {
    e.printStackTrace();
}
  • readLine() 메서드를 사용하여 파일에서 한 줄씩 읽어옵니다. 파일의 끝까지 읽었을 경우에는 null을 반환하므로,
    이를 체크하여 반복문을 종료합니다.
  • 파일 읽기가 끝났으면 close() 메서드를 사용하여 BufferedReader를 닫습니다.

BufferedWriter

  • BufferedWriter는 파일에 내용을 쓰기 위해 사용됩니다. FileWriter 클래스를 사용하여 파일을 열고, BufferedWriter 클래스를 사용하여 데이터를 버퍼링합니다.
try {
    BufferedWriter writer = new BufferedWriter(new FileWriter("example.txt"));
    writer.write("Hello World!");
    writer.newLine();
    writer.write("This is an example of BufferedWriter.");
    writer.newLine();
    writer.close();
} catch (IOException e) {
    e.printStackTrace();
}
  • write() 메서드를 사용하여 파일에 문자열을 씁니다. newLine() 메서드를 사용하여 줄바꿈을 추가할 수 있습니다.
  • 파일 쓰기가 끝났으면 close() 메서드를 사용하여 BufferedWriter를 닫습니다.

Stream

  • BufferedReader와 BufferedWriter에 대해 공부하던 중 Stream에 대한 내용이 자주 나왔습니다. 마찬가지로 무엇인지는 알지만 정확히 설명할 수 없는 얕은 지식이었기에 추가로 알아본 정보를 정리해서 알려드리겠습니다.

  • 스트림(Stream)은 데이터의 흐름을 추상화한 개념으로, 입출력(I/O)이나 컬렉션을 다룰 때 사용됩니다.
  • 자바에서의 스트림은 크게 두 가지 종류로 나눌 수 있습니다.
    1. 입출력 스트림
      • 파일, 네트워크 등에서 데이터를 읽거나 쓰기 위해 사용됩니다.
      • InputStream, OutputStream, Reader, Writer 등이 이에 해당됩니다.
    2. 컬렉션 스트림
      • 컬렉션 객체에 저장된 데이터를 처리하기 위해 사용됩니다.
      • Stream 클래스와 그 하위 클래스들이 이에 해당됩니다.

 

위의 설명으로 보았을 때, BufferedReader와 BufferedWriter에서 이야기하는 Stream은 1번 입출력 스트림이라는 것을 알 수 있습니다.

 

반응형