본문 바로가기

Study/Java

자바 운영체제에 상관없이 폴더 구문자 쓰기

흔히 자바책에서 말하길, 자바는 JVM에서 동작하기 때문에 한번 컴파일 하면 모든 OS에서 돌아간다는 것입니다. 


지금 어떤걸 간단히 만들다가 약간의 고민에 빠졌습니다.


예를들어 윈도우에서 파일을 다루면 C:\\data\\file.jpg 이런식으로 File f = new File("C:\\data\\file.jpg");

이런식으로 해야되는데 리눅스에서는 윈도우하는 달리 / 이렇게 간다는 차이점이 있습니다.


그래서 처음에는 System.getProperty("os.name"); 해서 OS 이름을 뽑아내서, 각 OS별로 맞추어야 했는데.

제가 바보였습니다.

File.separator를 사용하면 되는거였습니다. 


쉽게  File f = new File("C:\\data\\file.jpg"); 

이런상황에서는 File f = new File("C:"+File.separator+"data"+File.separator+"file.jpg"); 이러면 되네요