developer tip

Java의 플랫폼 독립 경로

copycodes 2020. 11. 26. 18:46
반응형

Java의 플랫폼 독립 경로


파일의 상대 경로를 알고 File있으며 Linux와 Windows 모두 에서 객체 로 처리하고 싶습니다 .

Java에서 플랫폼 독립적 경로를 지정하는 가장 좋은 방법은 무엇입니까?


File클래스는 플랫폼 특정 파일 경로에 사용할 수있는 다음과 같은 공용 멤버가 포함되어 있습니다

static String pathSeparator:
편의를 위해 문자열로 표시되는 시스템 종속 경로 구분 문자입니다.
static char pathSeparatorChar:
시스템 종속 경로 구분 문자입니다.
static String separator:
편의를 위해 문자열로 표시되는 시스템 종속 기본 이름 구분 문자입니다. static char separatorChar:
시스템 종속 기본 이름 구분 문자입니다.


사용하십시오 /. 22 년 동안 사용하고 있습니다. 문제 없습니다.


Java에서 경로 구분 기호를 사용할 수 있으며 Unix와 Windows에서 모두 작동합니다. 여전히 시스템 경로 구분자를 사용 File.separator하려면 현재 시스템 에 따라 올바른 구분자 를 제공 하는 속성이 있습니다.

루트의 경우 루트 listRoots()배열을 제공 하는 것을 사용할 수 있습니다 . Unix 시스템에는 하나의 요소 만 있고 Windows에는 드라이브가있는만큼만 있습니다.


정적 필드 File.separator를 사용하여 파일 경로에 대한 플랫폼 별 구분 문자를 검색 할 수 있습니다.


Java는 File 객체의 경로에 대해 매우 똑똑합니다. 저는 "../foo/bar"와 같은 것을 사용하며 MacOSX와이 두 플랫폼에서 작동합니다.


Java 7은 Paths여기서 의 사용도 지원합니다 .

Path는 기본 FileSystem의 getPath 메소드를 호출하여 얻습니다.

그런 다음 다음을 호출하여 파일을 가져올 수 있습니다.

File fileSystemObtainedFile = Paths.get("C:\\foo\\bar.txt").toFile();

개인적으로 저는 Eclipse의 Path 클래스를 일반적으로 경로를 처리하는 데 사용하는 것을 좋아합니다.이 클래스는 완전히 분리되어 있으므로 약간의 수정만으로 독립형으로 사용할 수 있습니다.

http://grepcode.com/file/repository.grepcode.com/java/eclipse.org/3.5/org.eclipse.equinox/common/3.5.0/org/eclipse/core/runtime/Path.java/?v = 소스

참고 URL : https://stackoverflow.com/questions/3548775/platform-independent-paths-in-java

반응형