La salida por defecto de File.toURL()
esGenerar URL del archivo
file:/c:/foo/bar
Estos no parecen funcionar en las ventanas, y necesitan ser cambiado a
file:///c:/foo/bar
¿El formato de
file:/foo/bar
funcionan correctamente en Unix (no tengo una máquina Unix para probar) ¿Hay una biblioteca que pueda encargarse de generar una URL desde un archivo que esté en el formato correcto para el entorno actual?
He pensado en utilizar una expresión regular para solucionar el problema, algo así como:
fileUrl.replaceFirst("^file:/", "file:///")
Sin embargo, esto no es del todo bien, porque va a convertir una URL correcta como:
file:///c:/foo/bar
a:
file://///c:/foo/bar
actualización
estoy usando Java 1.4 y en esta versión File.toURL()
no es obsoleto y tanto File.toURL().toString()
y File.toURI().toString()
generar la misma dirección URL (incorrecto) en las ventanas
'file:/c:/foo/bar' sean no va a funcionar en UNIX ... una máquina UNIX no tiene unidad C: – Cristian
De hecho, sólo se puede utilizar rutas de tipo Unix en Windows. Es decir. '/ foo/bar'. La raíz estará en el mismo disco que el directorio de trabajo del programa Java. – BalusC
¿Qué intentas hacer con esta URL en forma de cadena que no funciona? – Yishai