¿Cómo creo un nuevo URL
objeto usando un archivo local, con el propósito de pruebas unitarias?
¿Cómo creo un nuevo URL
objeto usando un archivo local, con el propósito de pruebas unitarias?
Respuestas:
Usando Java 7:
Paths.get(string).toUri().toURL();
Sin embargo, probablemente quieras obtener un URI
. Por ejemplo, a URI
comienza con file:///
pero una URL con file:/
(al menos, eso es lo que toString
produce).
java.nio.file.Paths
. Además, asegúrese de dejar en claro que se refiere a las implementaciones en "URI vs URL". Anway java.net.URL.toString()
produce lo mismo en Unix, como debe ser. Solo muestra un "/" que está muy mal (ver esquema de URI de archivo ). Supongo que esto está en Java por razones, mejor uso java.net.URI
. Genera correctamente "file: // [host] /" en una llamada a .toString()
.
new URL("file:///your/file/here")
/your/file/here
es una ruta absoluta a un archivo en Unix / Linux. En Windows sería diferente, creo.
new URL("file:my.properties");
File myFile=new File("/tmp/myfile");
URL myUrl = myFile.toURI().toURL();
eche un vistazo aquí para ver la sintaxis completa: http://en.wikipedia.org/wiki/File_URI_scheme
para sistemas tipo UNIX, será como dijo @Alex, file:///your/file/here
mientras que para sistemas Windows seríafile:///c|/path/to/file
File.toURI().toURL()
es el camino a seguir
.properties
archivo.
java file url
, lo que en mi caso significa que estaba buscando el formato de una file://
URL, en Java, para usar en un .properties
archivo, o para escribir manualmente, etc.
file://
desafortunadamente es necesario. Ser dependiente del sistema no es un problema tan grande ya que es una propiedad mutable.
También puedes usar
[AnyClass].class.getResource(filePath)
jar:file:/home/user/a/b/c/foo.jar!/com/example/stuff/config.txt
.