new - path java 8
Obtiene el objeto java.nio.file.Path de java.io.File (4)
¿Es posible obtener un objeto Path de un java.io.File
?
Sé que puedes convertir una ruta a un archivo usando el método toFile()
, pero no pude encontrar la conversión opuesta. ¿Hay alguna manera de hacer esto en Java 6 o inferior?
Como muchos han sugerido, JRE v1.7 y superior tiene File.toPath ();
File yourFile = ...;
Path yourPath = yourFile.toPath();
En la documentación jdk 1.7 de Oracle que también se menciona en otras publicaciones anteriores, se describe el siguiente código equivalente en la descripción para el método toPath (), que puede funcionar para JRE v1.6;
File yourFile = ...;
Path yourPath = FileSystems.getDefault().getPath(yourFile.getPath());
De la documentación :
Las rutas asociadas con el
provider
predeterminado generalmente son interoperables con la clasejava.io.File
. Es poco probable que las rutas creadas por otros proveedores sean interoperables con los nombres de ruta abstractos representados porjava.io.File
. El métodotoPath
se puede usar para obtener una ruta del nombre de la ruta de acceso abstracta representada por un objeto java.io.File. La ruta resultante se puede usar para operar en el mismo archivo que el objetojava.io.File
. Además, el métodotoFile
es útil para construir unFile
partir de la representación deString
de unaPath
.
(énfasis mío)
Entonces, para toFile
:
Devuelve un objeto de
File
que representa esta ruta.
Y toPath
:
Devuelve un objeto
java.nio.file.Path
construido a partir de esta ruta abstracta.
Es probable que desee toPath .
Sí, puede obtenerlo desde el objeto File
usando documentation . Tenga en cuenta que esto es solo para Java 7+. Las versiones de Java 6 y siguientes no lo tienen.