[java] java.io.File에서 java.nio.file.Path 오브젝트 가져 오기

에서 Path 객체를 가져올 수 java.io.File있습니까?

toFile()방법을 사용하여 경로를 파일로 변환 할 수 있다는 것을 알고 있지만 반대 변환을 찾을 수 없습니다. Java 6 이하에서 이것을 수행하는 방법이 있습니까?



답변

예,을 File사용하여 객체 에서 가져올 수 있습니다 File.toPath(). 이것은 Java 7+ 전용입니다. Java 버전 6 이하에는 없습니다.


답변

에서 문서 :

기본값과 관련된 경로 provider는 일반적으로 java.io.File클래스 와 상호 운용 가능합니다 . 다른 공급자가 만든 경로는로 표시된 추상 경로 이름과 상호 운용 될 수 없습니다 java.io.File. toPath메소드는 java.io.File 오브젝트로 표시되는 추상 경로 이름에서 Path를 얻는 데 사용될 수 있습니다. 결과 경로는 java.io.File객체 와 동일한 파일에서 작동하는 데 사용될 수 있습니다
. 또한이 toFile방법은 FileString표현으로 를 구성하는 데 유용 합니다 Path.

(강조 광산)

그래서 toFile:

반환 File이 경로를 나타내는 개체를.

그리고 toPath:

반환 java.nio.file.Path은이 추상적 인 경로로 구성 개체를.


답변

당신은 아마 원할 것 File.toPath()입니다.


답변

많은 사람들이 제안했듯이 JRE v1.7 이상에는 File.toPath ();

File yourFile = ...;
Path yourPath = yourFile.toPath();

위의 다른 게시물에서도 언급 된 Oracle의 jdk 1.7 설명서 에서 다음과 같은 코드가 toPath () 메서드에 대한 설명에 설명되어 있으며 JRE v1.6에서 작동 할 수 있습니다.

File yourFile = ...;
Path yourPath = FileSystems.getDefault().getPath(yourFile.getPath());


답변