항상 파일 디렉토리 경로 설정할 때 헷갈렸다
프로젝트에 절대경로를 넣으면 안 좋다고 해서 상대경로를 이용해서 파일이나 디렉토리를 가져오려고 했다.
데브코스 스프링부트 1주차 과제(바우처 관리 프로그램)에서 바우처 리스트 csv 파일을 resources 폴더에서 읽어올 때
voucher-list: '/src/main/resources/.csv/voucher_list.csv'
속성을 설정하고
filepath = System.getProperty("user.dir") + Property.voucherList()
와 같이 가져왔는데, 이게 상대경로인줄 알았는데 절대경로였다
절대경로는 "C://Desktop/~" 이렇게 내 컴퓨터에서의 경로 아예 맨 첫번째부터 구구절절 써놓는거라고 생각했었다.
하지만 System.getProperty("user.dir")
가 프로젝트의 최상위 경로를 가져오는 함수이고, 뒤에 내가 프로젝트 내에서의 파일 경로를 적어준 것이니 절대경로나 마찬가지였다.
강사님께서는 앞서 말했듯 "C://Desktop/~"
와 같은 프로젝트까지의 경로를 변수로 고정해두고 뒤의 절대경로를 적어주는 방법도 있다고 하셨으니 코드를 수정하진 않아도 될 것 같다..!
/
로 시작하면 무조건 절대 경로aa.txt
./aa.txt
: 내 현재 위치 = aa.txt
../aa.txt
: 상위 폴더 위치로 올라감 = bb/aa.txt