맥 환경에서 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();
}
}
'알아가기 > Java' 카테고리의 다른 글
[Java] 공백 없는 연속된 숫자들 분리하여 배열에 입력받기 (split, toCharArray) (0) | 2023.01.12 |
---|---|
[Java] ArrayList 모든 원소 출력하기 (0) | 2022.12.31 |
[Java] 잘못된 입력에 대해 exception 으로 재입력 유도 (0) | 2022.12.26 |
[Java] array 값 정렬하기 w/o Arrays.sort() (0) | 2022.12.24 |
[Java] for-each 사용 (0) | 2022.12.23 |