JAVA 파일 생성 문자열 쓰기 FileWriter 사용 방법

Java에서 파일에 출력할 때 문자열을 쓰려면 FileWriter클래스를 사용합니다.

FileWriter클래스를 사용하여 문자열을 쓰는 방법에 대해서 확인해보겠습니다.

Java에서 파일을 출력하기 위한 기본 조작은 다음과 같습니다.

파일 지정 → 파일에 입력 → 파일 닫기

 

파일 지정에 해당하는 부분이 FileWriter 클래스 생성이 됩니다.

파일에 입력하는 부분은 출력은 하는 println 이 됩니다.

작업이 끝나면 열고 있는 파일을 닫아 종료하는 close가 됩니다.

기본적인 작성 방법과 샘플을 보면서 자세히 살펴보겠습니다.

파일에 문자열을 작성하기 위해서 일을 지정하는 FileWriter클래스와, 파일의 기입 조작 등을 실시하는 PrintWriter클래스를 사용합니다.

import java.io.FileWriter;
import java.io.PrintWriter;

 

실제로 파일에 문자열을 출력하는 메서드는 println입니다.

PrintWriter println(“출력 문자열”)

 

샘플 소스를 보면서 사용 방법을 확인해보겠습니다.

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
 
public class Main {
 
    public static void main(String[] args) {
        try {
        
            // FileWriter 클래스 객체를 생성
            FileWriter file = new FileWriter("/temp/java.txt");
            
            // PrintWriter 클래스 객체를 생성
            PrintWriter pw = new PrintWriter(new BufferedWriter(file));
            
            // 파일에 문자열 출력
            pw.println("apple");
            pw.println("orange");
            pw.println("melon");
            
            // 파일 닫기
            pw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

샘플 코드에서는 FileWriter클래스를 선언하면서 문자열을 출력할 파일을 지정하고 있습니다.

PrintWriter클래스를 선언하고 BufferedWriter클래스를 확장하면서 FileWriter클래스 객체를 지정했습니다.

PrintWriter클래스의 println메서드에 출력하고 싶은 문자열을 지정합니다.

지정한 문자열을 파일에 작성이 됩니다.

모든 처리가 끝나면 반드시 close메서드를 사용하여 파일을 닫아줍니다.

샘플 코드를 사용해 테스트를 하는 경우에는 기존 파일에 추가하는 것이 아닌 덮어쓰기를 합니다.

기존 파일에 추가를 하고 싶은 경우를 살펴보겠습니다.

파일에 추가하는 경우는 FileWriter클래스에 두 번째 파라미터를 true로 지정하면 덮어쓰기가 아닌 추가하기로 작성이 됩니다.

FileWriter file = new FileWriter("파일 이름", true);

 

샘플 소스도 같이 확인해보겠습니다.

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
 
public class Main {
 
    public static void main(String[] args) {
        try {
        
            // FileWriter 클래스 객체를 생성
            FileWriter file = new FileWriter("/temp/java.txt", true);
            
            // PrintWriter 클래스 객체를 생성
            PrintWriter pw = new PrintWriter(new BufferedWriter(file));
            
            // 파일에 문자열 출력
            // 출력 형태는 기존 내용에 추가되는 형식
            pw.println("pineapple");
            pw.println("banana");
            
            // 파일 닫기
            pw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

실행 결과를 확인 헤보면 파일에 덮어쓰기가 아닌 문자열이 추가된 것을 확인할 수 있습니다.

댓글