1) 절대 경로
→ 경로의 루트부터를 이야기한다.
→ 어느 위치에서나 그 리소스느 같다 라는 걸 의미한다.
2) 상대 경로
→ 내가 작업하고 있는 현재 위치부터를 이야기 한다.
package home;
import java.io.File;
import java.io.IOException;
public class MyFileEx4 {
public static void printFileInfo(File f) {
System.out.println("name : " + f.getName());
System.out.println("parnet : " + f.getParent());
System.out.println("path : " + f.getPath());
System.out.println("==============================");
}
public static void main(String[] args) {
File f = new File("a.text");
File f2 = f.getAbsoluteFile();
printFileInfo(f);
printFileInfo(f2);
}
}
→ 위에서 f의 parent가 null이 나온 이유는?
⇒ 있는데 상대 경로 표기법으로 넣었기에 제대로 실행되지 않아서
→ getName( ) : 파일의 이름을 가져온다.
→ getParent( ) : 부모 경로를 가져온다.
→ getPath( ) : 파일의 경로를 가겨온다.
→ getAbsoluteFile( ) : 절대 경로, 상대 경로와 상관없이 해당 파일을 절대 경로로 하여 File타입으로 리턴 해준다.
. 은 현재 위치를 말하고 .. 은 상위 위치를 이야기 한다.
package home;
import java.io.File;
import java.io.IOException;
public class MyFileEx4 {
public static void printFileInfo(File f) {
System.out.println("name : " + f.getName());
System.out.println("parnet : " + f.getParent());
System.out.println("path : " + f.getPath());
System.out.println("==============================");
}
public static void main(String[] args) {
File f = new File("a.text");
File f2 = f.getAbsoluteFile();
printFileInfo(f);
printFileInfo(f2);
File f3 = new File("../a.text");
printFileInfo(f3.getAbsoluteFile());
try {
File other = f3.getCanonicalFile();
printFileInfo(other);
} catch (IOException e) {
e.printStackTrace();
}
}
}
→ getCanonicalFile( ) : 이산 경로를 File 타입으로 리턴해준다.
→ getAbsolutePath( ) : String 타입으로 리턴해주며, 다이렉트로 경로를 알 수 있다.
→ getCanonicalPath( ) : String 타입으로 리턴해준다.