자바 FileWriter 클래스 | 자바 입문강좌 56

자바 FileWriter 클래스

FileWriter 클래스는 문자열을 파일에 출력할 때 사용합니다. 문자열을 파일에 출력한다는 말은 Text 를 Text 파일에 저장한다는 말과도 같습니다.

파일을 쓰는 것 = 파일에 출력하는 것 – 라는 아이디어에 주의합니다.

FileWriter 클래스의 예제를 보겠습니다.

아래 코드는 두개의 방법을 보여줍니다. 첫번째는 FileWriter 그대로 쓰는 방식이고 두번째는 BufferedWriter 로 출력내용을 버퍼에 받아서 쓰는 방식입니다.

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

public class Main {
    public static void main(String[] args) throws IOException {


        FileWriter fw = new FileWriter("file_writer.txt");
        fw.write("Hello this is file writer");
        fw.close();

        BufferedWriter bw = new BufferedWriter(
                new FileWriter("D:\\Programming\\JavaPRJ\\smoothiejava\\b.txt"));
        bw.write("Hello\n");
        bw.write("using Buffered Writer");
        bw.write("777");
        bw.close();

    }
}

new FileWriter도 파일을 생성합니다. 기존 파일이 있다면 덮어쓰기(Override) 합니다.

파일을 확인해보면 문자가 들어간 것을 볼 수 있습니다. 주의할 점은 close 메소드를 사용하지 않으면 파일작성이 완료되지 않습니다.

BufferedWriter는 출력기(Writer)로써 받는 매개변수 객체 종류에 따라 콘솔에 출력할 수도 있습니다.

FileReader 로 읽어오기 (BufferedReader)

파일을 쓸 수 있는 것이 있다면 읽을수도 있습니다.

FileReader 를 사용해서 읽어온 내용을 출력합니다. 내용이 채워져 있는 텍스트 파일을 사용하면 출력 결과를 볼 수 있습니다. readline 메소드는 한줄씩 읽어서 출력합니다. while 문에서 null 이 될 때까지 반복합니다.

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader("b.txt"));
        String str;
        while((str = br.readLine()) != null){
            System.out.println(str);
        }
        br.close();
    }
}

텍스트 파일 복사하기

FileWriter 와 FileReader는 파일에서 읽고 쓰는 기능을 합니다.

그렇다는 것은 파일을 복사할 수 있다는 뜻입니다.

import java.io.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedWriter bw = new BufferedWriter(
                new FileWriter("copied_b.txt"));

        BufferedReader br = new BufferedReader(
                new FileReader("b.txt"));
        String str;
        while((str = br.readLine()) != null){
            System.out.println(str);
            bw.write(str + "\n");
        }
        br.close();
        bw.close();
    }
}

위의 코드는 b.txt 파일을 읽어서 copied_b.txt 파일에 복사합니다.

원리적으로 간단하죠? 파일을 읽어서 파일에 씁니다.

파일을 읽는 클래스와 파일을 쓰는 클래스를 사용합니다.

요약

텍스트 파일을 읽고 쓰기 위한 자바 FileWriter 클래스의 사용법을 알아봤습니다. 별로 어려운 부분은 없습니다. 복사라는 것이 파일에서 읽어와서 파일에 출력하는 것이니까 원리적으로 간단합니다.

참고문서의 다양한 예제들을 참고하면 이해하는데 도움이 됩니다.

자바에서 파일은 여러가지 방법으로 처리할 수 있습니다. 두루 알아두고 필요할 때 적당한 클래스를 사용하도록 합니다.

참고문서

Java FileWriter Class – javatpoint

Java FileWriter (With Examples) (programiz.com)

Java – FileWriter Class – Tutorialspoint

Java FileWriter tutorial – writing text to files in Java (zetcode.com)

Java FileWriter (jenkov.com)

Leave a Comment