Java 파일 구분자, separatorChar, pathSeparator, pathSeparatorChar
java.io.File 클래스에는 네 개의 정적 구분자 변수가 포함되어 있습니다. 여기에서 우리는 그것들과 그것을 사용하는 시기에 대해 배울 것입니다.
- File.separator: 플랫폼 종속 기본 이름 구분 문자(문자열). Windows의 경우 '\'이고 Unix의 경우 '/'입니다.
- File.separatorChar: 구분 기호와 같지만 문자입니다.
- File.pathSeparator: 경로 구분 기호에 대한 플랫폼 종속 변수입니다. 예를 들어 Unix 시스템에서는 ':'으로, Windows 시스템에서는 ';'로 구분된 경로의 PATH 또는 CLASSPATH 변수 목록입니다.
- File.pathSeparatorChar: pathSeparator와 같지만 문자입니다.
자바 파일 구분자
package com.journaldev.files;
import java.io.File;
public class FileSeparator {
public static void main(String[] args) {
System.out.println("File.separator = "+File.separator);
System.out.println("File.separatorChar = "+File.separatorChar);
System.out.println("File.pathSeparator = "+File.pathSeparator);
System.out.println("File.pathSeparatorChar = "+File.pathSeparatorChar);
}
}
Unix 시스템에서 위 프로그램의 출력:
File.separator = /
File.separatorChar = /
File.pathSeparator = :
File.pathSeparatorChar = :
Windows 시스템에서 프로그램 출력:
File.separator = \
File.separatorChar = \
File.pathSeparator = ;
File.pathSeparatorChar = ;
프로그램 플랫폼을 독립적으로 만들려면 항상 이러한 구분 기호를 사용하여 파일 경로를 만들거나 PATH, CLASSPATH와 같은 시스템 변수를 읽어야 합니다. 다음은 구분 기호를 올바르게 사용하는 방법을 보여주는 코드 스니펫입니다.
//no platform independence, good for Unix systems
File fileUnsafe = new File("tmp/abc.txt");
//platform independent and safe to use across Unix and Windows
File fileSafe = new File("tmp"+File.separator+"abc.txt");
이것이 파일 구분 기호에 대한 전부입니다. 향후 게시물에서 Java io에 대해 자세히 알아볼 것입니다.