tutorial isregularfile files createtempfile clase nio java-7

nio - isregularfile - Java 7: obtener Ruta de recurso(como objeto de tipo Ruta)



java.nio.file java 6 (2)

Estoy usando las características de Java 7 para leer en un archivo. Para ello necesito un objeto de tipo Path . En mi código, uso la función getResource() para obtener la ruta relativa (de tipo URL ) a un archivo.

Sin embargo, ahora tengo el problema de que realmente no sé cómo obtener de un objeto de tipo URL a un objeto de tipo Path fácilmente ( sin tener que pasar por castings, por ejemplo, a URI luego a File y de ahí a Path ) ?

Aquí un ejemplo para mostrarte lo que me gustaría hacer:

URL url = getClass().getResource("file.txt"); Path path = (new File(url.toURI())).toPath(); //is there an easier way? List<String> list = Files.readAllLines(path, Charset.defaultCharset());

Entonces, ¿hay una manera más fácil de lograr eso y no tener que hacer ese desorden de código en la línea 2?


En scala seria

import java.nio.file.Paths val resource = getClass.getResource("myfile.txt") val path = Paths.get(resource.toURI)

En Java debería ser el mismo (con una sintaxis ligeramente diferente)


Qué tal si

Path path = Paths.get(url.toURI());

No es correcto crear un archivo desde su URL, ya que se obtiene de la ruta de clases y el archivo puede estar dentro de un archivo jar.