웹사이트 검색

Java 파일 구분자, separatorChar, pathSeparator, pathSeparatorChar


java.io.File 클래스에는 네 개의 정적 구분자 변수가 포함되어 있습니다. 여기에서 우리는 그것들과 그것을 사용하는 시기에 대해 배울 것입니다.

  1. File.separator: 플랫폼 종속 기본 이름 구분 문자(문자열). Windows의 경우 '\'이고 Unix의 경우 '/'입니다.
  2. File.separatorChar: 구분 기호와 같지만 문자입니다.
  3. File.pathSeparator: 경로 구분 기호에 대한 플랫폼 종속 변수입니다. 예를 들어 Unix 시스템에서는 ':'으로, Windows 시스템에서는 ';'로 구분된 경로의 PATH 또는 CLASSPATH 변수 목록입니다.
  4. 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에 대해 자세히 알아볼 것입니다.