¿Cómo creo un nuevo URLobjeto usando un archivo local, con el propósito de pruebas unitarias?
¿Cómo creo un nuevo URLobjeto 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 URIcomienza con file:///pero una URL con file:/(al menos, eso es lo que toStringproduce).
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/herees 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/heremientras que para sistemas Windows seríafile:///c|/path/to/file
File.toURI().toURL()es el camino a seguir
.propertiesarchivo.
java file url, lo que en mi caso significa que estaba buscando el formato de una file://URL, en Java, para usar en un .propertiesarchivo, 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.