본문 바로가기
언어/JAVA

[JAVA] File.separator로 파일 구분자 사용하기

by chan10 2021. 2. 18.

파일을 저장할 때 파일의 경로가 달라지면 전혀 다른 곳으로 저장이 될 수도 있기에 주의가 필요한데

 

사용하는 운영 체제에 따라 파일 경로를 구분하는 파일 구분자가 다르게 사용된다.

 

윈도우는 구분자 '\'로 파일을 구분하고 리눅스는 구분자 '/'로 파일을 구분한다.

(요즘 윈도우는 '/'도 인식한다고 한다.)

 

파일/폴더 경로를 작성 시 이렇게 작성 할 수 있다. (\는 escape문자로 인식하기에 2번 입력해야 한다.)

String path = "pathA\\pathB\\pathC";

 

그러나 이럴 경우 리눅스에서 해당 코드를 실행 시 파일 구분자를 변경해주어야 하는데 이러한 불편함을 해소하기 위해 File.separator를 사용한다.

String path = "pathA"+File.separator+"pathB"+File.separator+"pathC"+File.separator;
System.out.println(path);

 

File.separator를 사용하여 경로를 작성해주면 아래와 같이 사용하여 한번에 지정한 경로의 폴더를 생성할 수 있다.

(폴더가 생성되는 위치는 프로젝트 파일 위치에서 생성된다.)

String path = "pathA"+File.separator+"pathB"+File.separator+"pathC"+File.separator;
System.out.println(path);
 
File f = new File(path);
f.mkdirs(); //폴더 생성

 

만약 폴더 경로 작성 시 맨 앞에 File.separator로 시작하면

 

root경로부터 시작한다는 뜻으로 윈도우의 root는 윈도우가 설치된 C드라이브로 인식하니 참고한다.