절대 경로, 상대 경로

Jan 09, 2024
절대 경로, 상대 경로
 

절대 경로

최초의 시작점을 시작으로 모든 경로를 입력한 경로
 
윈도우 C:\user\test\hello.txt 맥, 리눅스 /user/test/hello.txt
 
경로를 입력할 때 윈도우는 역슬래쉬 \ , 맥과 리눅스는 / 를 사용한다.
notion image
 
cmd 창에 전체 경로를 입력하면 해당 파일이 실행된다.

상대 경로

현재 실행되는 파일의 위치를 기준으로 입력한 경로
 
notion image
 
이번에는 실행 위치가 C:\user\test 에서 실행한다. hello.txt 파일은 test 폴더 내에 있으므로 파일명만 입력하면 파일을 실행할 수 있다.
 
 

자바에서의 경로

자바에서도 파일을 불러들이거나, 생성할 때 경로를 입력한다.
자바에서 역슬래쉬 \ 는 문자열에서 제외를 한다는 뜻이다.
System.out.println("이름은 \"홍길동\"입니다");
notion image
 
그래서 자바에서 파일을 경로를 입력할 때 이중역슬래쉬 \\ 를 이용한다.
 
BufferReader 와 BufferWriter 를 이용해 값을 불러오고 입력해보자.
 
public static void main(String[] args) { try { BufferedReader br = new BufferedReader(new FileReader("D:\\workspace\\study\\src\\ex15\\hello.txt")); String line = br.readLine(); BufferedWriter bw = new BufferedWriter(new FileWriter("input.txt")); bw.write("안녕\n"); bw.flush(); System.out.println(line); } catch (Exception e) { e.printStackTrace(); } }
 
위의 코드는 BufferedReader 를 이용해 hello.txt 파일을 불러들여 자바로 출력하고, BufferedWriter 를 이용해 input.txt 를 생성한다.
 
notion image
D:\workspace\study\src\ex15\hello.txt
 
현재 hello.txt 파일의 전체 경로이다.
BufferedReader br = new BufferedReader(new FileReader("D:\\workspace\\study\\src\\ex15\\hello.txt")); String line = br.readLine();
 
자바는 일반적으로 프로젝트 폴더가 실행 폴더가 된다.
 
notion image
 
따라서 study 이후의 값이 상대 경로가 된다.
 
BufferedReader br = new BufferedReader(new FileReader("src\\ex15\\hello.txt")); String line = br.readLine();
notion image
 
 
BufferedWriter bw = new BufferedWriter(new FileWriter("input.txt")); bw.write("안녕\n"); bw.flush();
 
이번에는 BufferedWriter 를 이용해 값을 input.txt 파일을 생성한다. buffer 의 크기가 차지 않으면 값이 출력되지 않기 때문에 flush 를 이용해 강제로 출력한다.
 
notion image
 
경로에 input.txt 로 상대 경로를 입력해 study 폴더에 input.txt 가 생성되었다.
Share article

{CODE-RYU};