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


215

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

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


API 문서를 보았습니까?
Vivin Paliath

예, resolve 및 resolveSibling 메소드를 보았지만 파일 (또는 문자열)에서 경로로 정확하게 변환되지는 않았지만 어느 정도 연결되었습니다.
Karlovsky120

1
@VivinPaliath도 언급 한 문서 입니다.
Perception

1
그것은 가능한 어리석은 질문 (내가, 문서에 있었고 짧은 Google 검색이 대답했을 것입니다)이 사이트에서 가장 많은 점수를 얻는 방법을 놀라게합니다. : D
Karlovsky120

@ Karlovsky120 그것은 당신이 그것을 직접 구글을 시도한다면 당신을 놀라게해서는 안됩니다;)
9ilsdx 9rvj 0lo

답변:


288

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


1
Java 6 이하에서 이것을 달성하는 방법이 있습니까?
Karlovsky120

8
PathJava 7에 도입되었으므로 불행히도 Java 6 이하에서는이를 수행 할 수있는 방법이 없습니다.
Vivin Paliath

33

에서 문서 :

기본값과 관련된 경로 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은이 추상적 인 경로로 구성 개체를.


1
그는 반대를 원한다.
Vivin Paliath

나는 논쟁하지 않습니다 :). 방금 OP가 원하는 것을 언급하고있었습니다.
Vivin Paliath 2013 년


10

많은 사람들이 제안했듯이 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());
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.