티스토리 뷰

java에서 문자열을 텍스트 파일로 저장하는 방법에 대해서 알아보겠습니다.

자바프로그램을 작성하면 텍스트 파일로 저장해야 되는 경우가 종종 생깁니다.

String 을 저장하는 방법

FileWriter 클래스를 사용하시면 됩니다.

 

일단 FileWriter 클래스를 사용하려면 java.io 패키지가 필요하므로 import를 해주셔야 합니다.

import java.io.*;

위 패키지를 임포트 하지 않으면 컴파일 에러가 발생하여 실행을 시킬수가 없습니다.

 

""

FilwWrite 클래스를 이용하여 파일을 생성해보겠습니다.

 

String filePath = "Test.txt";

FileWriter fileWriter = new FileWriter(filePath);

 

new FileWriter인자값으로 파일경로를 적어주시면 됩니다.

해당 경로에 파일이 없으면 새로 성성하게 됩니다.

전체 소스를 통해서 알아보도록 하겠습니다.

-----------------------------------------------------------

import java.io.*;

public class Test {

 public static void main(String[] args) {
  
  String saveStr = "#\n" +
    "#Thu Dec 28 00:31:36 KST 2017\n" +
    "projectName=org.eclipse.ui.examples.javaeditor\n" +
    "name=Java Editor\n" +
    "description=The Java Editor example demonstrates the standard features available for custom text editors.  It also shows how  to register an editor for a file extension (in this case .jav) and how to define a custom Document provider for use by that editor. This example is only for demonstration purposes. Java editing support is provided by the  Eclipse Java Tooling.\n" +
    "helpHref=/org.eclipse.platform.doc.isv/samples/org.eclipse.ui.examples.javaeditor/doc-html/ui_javaeditor_ex.html\n" +
    "id=org.eclipse.sdk.samples.javaeditor\n" +
    "";
  
  String filePath = "c:\\Temp\\test.txt";
  try {
   FileWriter fileWriter = new FileWriter(filePath);
   fileWriter.write(saveStr);

   
   fileWriter.close();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
    

 }
}

----------------------------------------------------------------------

해당소스를 컴파일 하고 실행시켜보면

test.txt파일이 생성된걸 확인할수 있습니다.

참고로 파일관련된 입출력 코드를 작성할 경우 예외처리를 해주셔야만 합니다.

소스에서는 try/catch를 한걸 확인할수 있습니다.

그리고 반드시 파일 작업이 완료후에는 close()메소드를 사용하여 작업이 끝났다는걸 알려줘야 합니다.

이 부분만 주의하시면 코딩하시는데 큰 어려움은 없습니다.

 

test파일이 생성되었습니다. 만약 이미 파일이 존재하는 경우에는 어떻게 되는지 확인해보겠습니다.

이번에는 문자열을 변경해서 파일에 저장해보겠습니다.

저장할 문자열 : "LEE SE JIN~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`"

 

실행시켜 보면 결과값은

LEE SE JIN~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

출력이 됩니다.

미리 생성되었던 파일에 있던 TEXT내용은 전부 사라진걸 확인할수 있습니다.

기존 파일이 있으면 기존파일을 삭제후 새로 생성합니다.

 

FileWriter fileWriter = new FileWriter(filePath, true);

파일명말고도 boolean 인자값을 줄수 있습니다.

어떤 인자값인지 확인해보겠습니다.

true로 주었을 경우

결과값은

LEE SE JIN~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~LEE SE JIN~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

결과값을 보시면 아시겠지만 true로 줬을 경우 기존 텍스트값이 삭제가 되지 않고 기존텍스트에 저장할 문자열이 추가가 된걸 확인할수 있습니다.

이번에는 false로 어떤 결과가 나오는지 확인해보겠습니다.

 

FileWriter fileWriter = new FileWriter(filePath, false);

결과값

LEE SE JIN~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

기존 텍스트가 삭제된후 저장된걸 확인할수 있습니다.

결과에서 알수 있듯이 기존텍스트파일에 내용만 추가하고 싶을경우 true인지값을 줘야 한다는걸 알수 있습니다.

2번째 인자값은 append 여부입니다. true일 경우 추가, false경우 새로 저장입니다.

 

여기까지 java에서 String을 텍스트 파일에 저장하는 방법에 대한 포스팅을 마칩니다.

 

 

 

댓글