java.nio.file
패키지java.io
패키지보다 안정적이고 다양한 기능Paths
클래스Path
객체 생성☕ Main.java
public static final String CUR_PATH = "src/sec12/chap02/";
// 💡 프로젝트 폴더 경로
Path path1 = Paths.get("");
Path path1Abs = path1.toAbsolutePath();
Path path2 = Paths.get("my_file.txt");
Path path2Abs = path2.toAbsolutePath();
// 💡 인자로 들어온 문자열을 각각 내부 폴더로
Path path3 = Paths.get(CUR_PATH, "sub1", "sub2", "sub3");
// 💡 두 경로를 통합
Path path4 = path3.resolve(path2);
// 💡 부모 경로
Path path5 = path4.getParent();
// 💡 한 경로에서 다른 경로로의 상대 경로
Path path6 = path4.relativize(path2);
// 💡 끝단 파일/폴더명
Path path7 = path4.getFileName();
// 💡 서브경로
Path path8 = path4.subpath(3, 5);
Files
클래스 System.out.println(Files.exists(path2));
// 💡 Path 기준으로 파일 생성
try {
Files.createFile(path2);
} catch (IOException e) {
// 💡 파일이 이미 존재시 예외 던짐
System.out.println("파일이 이미 있음");
}
System.out.println(Files.exists(path2));
// 💡 Path 기준으로 폴더 생성
try {
Files.createDirectory(
Paths.get(CUR_PATH, "myFolder")
);
} catch (IOException e) {
// 💡 폴더가 이미 존재시 예외 던짐
System.out.println("폴더가 이미 있음");
}