728x90
반응형
다음과 같이 OS마다 파일 패스에서 사용하는 파일 구분자가 다릅니다. Windows에서는 \를 구분자로 사용하지만 Linux는 /를 구분자로 사용합니다.
Windows : "C:\Windows\System32\drivers\e"
Linux : "/home/account/Desktop"
이런 구분자를 사용하면, 2개 이상의 OS에서 동작하는 프로그램의 경우 문제가 될 수 있습니다.
프로그램이 실행되는 OS에 맞는 Separator를 동적으로 가져와 사용하도록 구현이 되어야 합니다.
File.separator
File.separator는 프로그램이 실행 중인 OS에 해당하는 구분자를 리턴합니다.
File file = new File("/tmp/" + File.separator + "text.txt");
System.out.println(file.toPath());
Output:
/tmp/text.txt
System.getProperty("file.separator")
System.getProperty("file.separator")는 프로그램이 실행 중인 OS에 해당하는 구분자를 리턴합니다.
String separator = System.getProperty("file.separator");
File file = new File("/tmp/" + separator + "text.txt");
System.out.println(file.toPath());
Output:
/tmp/text.txt
출처 : https://codechacha.com/ko/java-file-separator/
728x90
반응형
'Study > Java' 카테고리의 다른 글
[Java] MultipartFile과 File의 차이점 (0) | 2022.07.01 |
---|---|
[JAVA] 입출력 스트림 (InputStream, OutputStream)란? (0) | 2022.07.01 |
[JAVA] 자바 ... 파라미터 = 가변인자 ( varargs ) (0) | 2022.06.30 |
java 버전별 차이 & 특징 (0) | 2022.06.22 |
조인 (0) | 2022.05.25 |
댓글