알아가기/Java

[Java] 파일 상대경로 설정 (Relative Path on Mac)

XEV 2022. 12. 27. 20:53

맥 환경에서 PrintWriter 을 이용하여 절대경로와 상대경로에 파일을 생성하고 그 경로의 차이를 예시로 확인한다.

 

절대경로

File f = new File("/Users/apple/java/01_test/newFile01.txt");

기본적으로 맥에서 절대경로는 Users 에서 부터 시작된다. 윈도우로 보자면 C:

맥에서 절대경로로 파일에 접근하려면 "/Users/{account name}/files/01_test/newFile01.txt" 형식으로 작성해야 한다.

절대경로는 Finder 에서 Get info 등을 이용하여 나타나는 경로를 복사 붙여넣기 하면 간단히 해결된다.

이 절대경로를 이용하여 "newFile01.txt" 파일을 생성하였다.

 

 

 

 

 

프로젝트 위치

File f = new File("newFile02.txt");

자바에서 파일을 생성할 시 아무런 경로를 붙이지 않고 파일이름만 적어 작성하게 되면 프로젝트가 있는 폴더에 파일이 생성된다.

프로젝트가 있는 01_test 폴더 바로 안에 "newFile02.txt" 파일이 생성되었다.

 

 

 

 

 

프로젝트 src 상대경로

File f = new File("src/newFile03.txt");

프로젝트 폴더 기준에서 하위 폴더로 상대경로를 설정하려면 "폴더이름/" 형태로 작성하면 된다.

위의 예제는 프로젝트 01_test 의 하위폴더인 src 폴더에 파일 "newFile03.txt" 를 생성하였다.

 

 

 

 

 

임의 상대경로

File f = new File("../02_storage/newFile04.txt");

프로젝트 상위폴더로 이동하여 파일을 작성하고자 한다면 "../" 를 이용해야 한다. "../" 를 붙이는 수 만큼 상위폴더로 이동을 한다.

위의 예제는 프로젝트 폴더를 한 단계 올라가 02_storage 폴더에 접근하여 "newFile04.txt" 파일을 작성하였다.

 

 

 

 

 

추가 하기

프로젝트 위치로 부터 하위 폴더인 src 에 파일을 생성하는 예시 코드

import java.io.File;
import java.io.PrintWriter;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class Main {

	public static void main(String[] args) throws IOException {
		
//		File f = new File("/Users/apple/java/01_test/newFile01.txt");
//		File f = new File("newFile02.txt");
		File f = new File("src/newFile03.txt");
//		File f = new File("../02_storage/newFile04.txt");
		
		PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(f)));
		pw.println("Heloo World!!!");
		pw.close();
		
	}

}