본문 바로가기
개발 이야기/자바

[JAVA] FileWriter 파일 쓰기

by 런던살자 2019. 6. 25.

안녕하세요 마블랑입니다.

 

프로그램으로 파일을 다루는것은 거의 기본이라 대부분의 프로그래밍 언어는 기본적으로 파일 입출력 기능을 하는 함수나 클래스를 제공합니다.

 

자바도 마찬가지 인데요

 

자바에서 파일 입출력을 제공하는 클래스는 정말 수도 없이 많더군요. 그리고 그것을 응용하여 어떻게 파일을 입출력할건지에 대한 방법도 여러가지 입니다.

 

원하는 기능과 각각의 장단점을 고려하여 알맞은 방법을 선택하면 되기는 하나 마블랑이 원하는 방법은 간단하고 제 기능이 되는 방법입니다.

 

그렇게 해서 찾은 방법이 바로 FileWriter 클래스를 이용하는 방법인데요 ..

 

안타깝게도 FileWriter는 파일에 쓰는 기능, 즉 입력 기능 밖에 없는 것 같습니다. 

 

코드를 살펴보겠습니다. 

 

FileWriter 객체를 생성할때 첫번째 인자는 파일의 경로를 나타내고 두번째 인자는 덮어쓰기(Write)를 할지 이어쓰기(Append)를 할지 설정해주는 인자입니다. 

 

응용하려는 부분에 맞게 설정하시기 바랍니다.  

package mainpkg;

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

public class main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		FileWriter fw, fw_append; // FileWriter 선언

		try {
			fw = new FileWriter(".\\java_Text.txt", false); // 파일이 있을경우 덮어쓰기
			fw.write("Writer 1 : Hello world \r\nWrite Test\r\n");
			fw.close();
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}

		try {
			fw_append = new FileWriter(".\\java_Text.txt", true); // 파일이 있을경우 이어쓰기
			fw_append.write("Writer 2 : Append Test\r\nGoodbye~");
			fw_append.close();
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}

		return;
	}

}

 

FileWriter로 파일에 입력할때는 끝에 줄바꿈을 넣기 위해 "\r\n"을 꼭 붙여줘야 합니다.

 

 

그럼 결과를 확인해 보겠습니다. 

 

프로젝트 폴더에 가보니 정상적으로 텍스트 파일이 작성된 것을 확인할수 있습니다.

 

 

BufferStream 이나 MemoryStream 으로도 파일 입출력이 가능하지만 자바를 배우고 있는 단계라 추후에 포스팅을 하겠습니다. 

 

FileWriter를 이용하여 여러가지 방법으로 응용할수 있겠지만 입력기능 밖에 없으니 간단하게 로그기능을 구현할때 사용하면 좋을듯합니다.

 

이상 마블랑이었습니다.

읽어주셔서 고맙습니다.

댓글