자바로 폴더와 파일 생성하기
자바 코드를 이용해 폴더와 파일을 생성할 수 있다.
💻 예제
📝 소스 코드
import java.io.File;
import java.io.IOException;
public class Main {
public static final String TEST_DIRECTORY = "test";
public static final String TEST_FILE = "dummy.txt";
public static final String TEST_RENAME = "re_dummy.txt";
public static void main(String[] args) {
System.out.println("폴더/파일 생성, 이름변경, 삭제\n");
String path = System.getProperty("user.dir")
+ File.separator // Windows('\'), Linux, MAC('/')
+ TEST_DIRECTORY;
System.out.println("절대 경로 : " + path);
File f = new File(path);
System.out.println();
// 폴더 생성: mkdir()
if (!f.exists()) { // 폴더가 존재하는지 체크, 없다면 생성
if (f.mkdir())
System.out.println("폴더 생성 성공");
else
System.out.println("폴더 생성 실패");
} else { // 폴더가 존재한다면
System.out.println("폴더가 이미 존재합니다.");
}
System.out.println();
// 파일 생성 : createNewFile()
File f2 = new File(f, TEST_FILE); // File(디렉터리 객체, 파일명)
System.out.println(f2.getAbsolutePath());
if (!f2.exists()) { // 파일이 존재하지 않으면 생성
try {
if (f2.createNewFile())
System.out.println("파일 생성 성공");
else
System.out.println("파일 생성 실패");
} catch (IOException e) {
e.printStackTrace();
}
} else { // 파일이 존재한다면
System.out.println("파일이 이미 존재합니다.");
}
System.out.println();
// 파일 이름 변경: renameTo()
File f3 = new File(f, TEST_RENAME); // 변경할 이름
System.out.println(f3.getAbsolutePath());
if (f2.exists()) { // 파일이 존재할 때만 이름 변경
if(f2.renameTo(f3))
System.out.println("파일 이름 변경 성공");
else
System.out.println("파일 이름 변경 실패");
} else {
System.out.println("변경할 파일이 없습니다.");
}
System.out.println();
// 파일 삭제: delete()
File f4 = new File(f, TEST_RENAME);
if (f4.exists()) {
if (f4.delete())
System.out.println("파일 삭제 성공");
else
System.out.println("파일 삭제 실패");
} else {
System.out.println("삭제할 파일이 없습니다.");
}
}
}
경로 설정
public static final 변수를 만들어 생성할 폴더 이름과 파일 이름, 수정할 파일 이름을 먼저 선언해주었다.
String path 변수에 생성할 폴더 경로를 저장해줄 것이다.
System.getProperty("user.dir")로 [현재 작업 폴더 경로]를 불러오고, TEST_DIRECTORY에 [생성할 폴더 이름] 문자열을 저장한다.
따라서 path 에는 다음과 같은 문자열이 저장된다.
[현재 작업 폴더 경로] + File.separator + TEST_DIRECTORY
File.separator는 경로를 나누는 문자이다. 윈도우에서는 \ 이고, 리눅스, 맥에서는 / 이다.
문자열 path로 File 객체를 생성해준 뒤, mkdir()을 이용해 폴더를 생성할 것이다.
폴더 생성
폴더 생성 전 exists() 메소드를 통해 현재 생성하려는 폴더가 있는지 확인한다.
해당 폴더가 없는 경우에 [File f].mkdir() 메소드를 사용해서 폴더를 생성한다.
mkdir() 메소드의 반환 값은 boolean 타입이다. 폴더가 성공적으로 생성되었을 경우 true를 반환하고, 생성되지 않은 경우 false를 반환한다.
파일 생성
createNewFile() 메소드를 사용해 새로운 파일을 생성할 수 있다.
[File f].createNewFile()
파일 이름 변경
renameTo() 메소드를 사용해 파일 이름을 변경할 수 있다. 메소드 인자 값으로는 File 객체를 넣는다.
인자 값으로 들어간 파일 객체의 이름으로 파일 이름이 변경된이다.
[File f1].renameTo([File f2])
파일 삭제
delete() 메소드를 사용해 파일을 삭제할 수 있다.
[File f].delete()
📄 실행 결과