파일에 정적 문자열 separator 및 pathSeparator이 있습니다. 구분 기호는 "기본 이름 구분 문자"이며 pathSeparator는 "경로 구분 문자"입니다.File.separator 대 File.pathSeparator
차이점은 무엇입니까? 사람이 다른 사람보다 더 좋을 때가 있습니까?
파일에 정적 문자열 separator 및 pathSeparator이 있습니다. 구분 기호는 "기본 이름 구분 문자"이며 pathSeparator는 "경로 구분 문자"입니다.File.separator 대 File.pathSeparator
차이점은 무엇입니까? 사람이 다른 사람보다 더 좋을 때가 있습니까?
java.io.File 클래스에는 4 개의 정적 구분 기호 변수가 있습니다. 더 나은 이해를 위해 일부 코드의 도움으로 이해합시다.
주입니다 변수 및 시스템에 따라 다릅니다.
다음은 이러한 구분 변수를 인쇄하는 Java 프로그램입니다. 유닉스 시스템에서 위의 프로그램의 FileSeparator.java
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);
}
}
출력 : Windows 시스템에서 프로그램의
File.separator =/
File.separatorChar =/
File.pathSeparator = :
File.pathSeparatorChar = :
출력 :
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");
pathSeparator가 잘못되었습니다 ... pathVariableSeparator 또는 classpathSeparator를 만들지 않으시겠습니까? –