리눅스와 윈도우 경로(Path), 자바 운영체제 구분자 설명

devdo·2022년 10월 26일
0

Java

목록 보기
51/56
post-thumbnail

리눅스와 윈도우 경로 구분자

리눅스의 경로 구분자는 /
윈도우는 \(백슬레시)


예를 들어, 윈도우에서 파일 경로를 지정할때 이런 상황이 많다.

# 리눅스 
cd /c/WebStudy/WebDevelement/SpringBoot/memo-test
# 윈도우
cd c:\WebStudy\WebDevelement\SpringBoot\memo-test

이는 \ 가 하나이스케이프코드로 문자열 \ 라는 의미를 주는 것이다. => 아래 그림 참고~!

윈도우 경로 표시(\\)

c:\\WebStudy\\WebDevelement\\SpringBoot\\memo-test

윈도우에서는 리눅스와 다르게 \n 같은, \백슬레시로 시작하는 이스케이프코드들과 합쳐져 원하지 않는 문자로 탄생하는 경우가 많다. 그래서 조심해야 한다.


이스케이프란?

말 그대로 탈출한다 라는 뜻인데,
다음과 같은 코드들이 있다.


자바 운영체제 구분자 File.separator

자바에서는 운영체제별로 갖고있는 구분자를 제공해준다.
구분자 변수 자체를 사용하여 유동적인 프로그램 제작이 가능하게 할 수 있다.

이 구분자는 기본으로 제공되는 System 클래스에 들어있다. 아래와 같이 접근한다.

System.getProperty("path.separator");  //패스 구분자
System.getProperty("file.separator"); //파일 구분자.

OR

아니면 아예 File 객체에 속성으로 File.separator을 사용하면 된다!

private final static String UPLOAD_DIRECTORY = "upload";
....
String path = request.getSession().getServletContext().getRealPath("resources");
// C:\WebStudy\Study\ebrainSoft\board_mybatis\src\main\webapp\resources
String root = path + File.separator + UPLOAD_DIRECTORY;

profile
배운 것을 기록합니다.

0개의 댓글