Obtenha o objeto java.nio.file.Path a partir de java.io.File
215
É possível obter um objeto Path de a java.io.File?
Eu sei que você pode converter um caminho para um arquivo usando o toFile()método, mas não consegui encontrar a conversão oposta. Existe uma maneira de fazer isso no Java 6 ou inferior?
Surpreende-me como a pergunta mais estúpida possível (quer dizer, vamos lá, estava na documentação, uma breve pesquisa no Google teria respondido) está me dando mais pontos no site. : D
Karlovsky120
@ Karlovsky120 não deve surpreendê-lo se você tentar google-lo você mesmo;)
9ilsdx 9rvj 0lo
Respostas:
288
Sim, você pode obtê-lo do Fileobjeto usando File.toPath(). Lembre-se de que isso é apenas para Java 7+. As versões Java 6 e abaixo não a possuem.
Os caminhos associados ao padrão providergeralmente são interoperáveis com a java.io.Fileclasse. É improvável que os caminhos criados por outros provedores sejam interoperáveis com os nomes de caminho abstratos representados por java.io.File. O toPathmétodo pode ser usado para obter um caminho a partir do nome do caminho abstrato representado por um objeto java.io.File. O caminho resultante pode ser usado para operar no mesmo arquivo que o
java.io.Fileobjeto. Além disso, o toFilemétodo é útil para construir a Filepartir da Stringrepresentação de a Path.
Na documentação do Oracle jdk 1.7, que também é mencionada em outras postagens acima, o código equivalente a seguir é descrito na descrição do método toPath (), que pode funcionar no JRE v1.6;
Respostas:
Sim, você pode obtê-lo do
File
objeto usandoFile.toPath()
. Lembre-se de que isso é apenas para Java 7+. As versões Java 6 e abaixo não a possuem.fonte
Path
foi introduzido no Java 7, então, infelizmente, não há como fazer isso no Java 6 e abaixo.A partir da documentação :
(ênfase minha)
Então, para
toFile
:E
toPath
:fonte
Você provavelmente quer
File.toPath()
.fonte
Como muitos sugeriram, o JRE v1.7 e superior tem File.toPath ();
Na documentação do Oracle jdk 1.7, que também é mencionada em outras postagens acima, o código equivalente a seguir é descrito na descrição do método toPath (), que pode funcionar no JRE v1.6;
fonte