경로 표시법

예숑·2023년 12월 10일
0

JAVA - File

목록 보기
3/7

  • 사용자에게 보여주기 위해 사용한다.

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 타입으로 리턴해준다.

0개의 댓글

관련 채용 정보