자바(Java) 강의

18. 파일 입출력 (1) - 파일 생성

삐멜 2019. 5. 23. 14:47

이번 포스트에서는 자바의 파일 입출력과 파일을 생성하는 법에 대해서 알아보도록 한다.

이전 포스트

목표

  • 파일 생성
  • 파일 존재 여부 확인
  • 파일 삭제

프로젝트 구조

FileTutorial
├── FileTutorial.iml
├── my_first_file.txt
└── src
└── Main.java

1 directory, 3 files

파일 생성

파일 입출력은 자바의 java.io 패키지가 제공하는 File 클래스를 이용해 생성 할 수 있다.
import java.io.File;
import java.io.IOException;

public class Main {

public static void main(String[] args) throws IOException {
File file = new File("my_first_file.txt");
boolean created = file.createNewFile();
System.out.println("파일이 생성되었나? " + created);
}
}
File의 생성자로 생성할 파일의 이름을 넣어준다. 이때, 파일 이름은 절대 경로(Absolute Path)여야 한다. 만약 저렇게 이름만 넣어주면 현재 이 프로젝트의 작업 디렉토리(보통 프로젝트 디렉토리 바로 아래)에 파일이 생성된다.

fsoftwareengineer:FileTutorial ➜ ls
FileTutorial.iml my_first_file.txt out src

위처럼 my_first_file.txt가 프로젝트 디렉토리인 FileTutorial바로 아래에 생성된 것을 확인할 수 있다. (Windows에선 dir로 확인하거나 GUI를 이용해 확인하면 된다.)

파일 존재 여부 확인

파일 존재 여부를 확인하고 싶다면 exists 메서드를 사용하면 된다.

import java.io.File;

public class Main {

public static void main(String[] args) {
String fileName = "my_first_file.txt";
File file = new File(fileName);
if(file.exists()) {
System.out.println(fileName + " 파일이 이미 존재함.");
} else {
System.out.println(fileName + " 파일이 이미 존재하지 않음.");
}
}
}

파일 삭제

파일 삭제는 delete메서드로 할 수 있다.

import java.io.File;

public class Main {

public static void main(String[] args) {
String fileName = "my_first_file.txt";
File file = new File(fileName);
boolean deleted = file.delete();
System.out.println("파일이 지워졌나? " + deleted);
}
}

만약 존재하지 않는 파일이라면 어떻게 되는가? 한번 파일 이름을 존재하지 않는 파일로 바꾼 후 삭제를 시도해 보자. 

이번 포스트를 짧게 한 이유는 다음 포스트부터 양이 많아지기 때문이다. 다음 포스트에서는 실제 입출력을 위한 파일의 래퍼 클래스(Wrapper Class)들을 하나씩 이용해 파일을 읽는 법, 파일에 쓰는 법을 알아보도록 한다.

다음 포스트: 18. 파일 입출력 (2) - 파일 쓰기