Estoy desarrollando una aplicación Scala en Windows, y necesito insertar una ruta a un archivo en una plantilla HTML. Uso Java io
y nio
para trabajar con archivos y rutas.File.toString de Java o Path.toString con un separador de ruta específico
/* The paths actually come from the environment. */
val includesPath = Paths.get("foo\\inc")
val destinationPath = Paths.get("bar\\dest")
/* relativeIncludesPath.toString == "..\\foo\\inc", as expected */
val relativeIncludesPath = destinationPath.relativize(includesPath)
El problema es que la salida de relativeIncludesPath.toString
contiene barras invertidas \
como separadores - porque la aplicación se ejecuta en Windows - pero ya que el camino se va a insertar en una plantilla HTML, debe contener barras inclinadas en lugar /
.
Como no pude encontrar nada como file/path.toStringUsingSeparator('/')
en los documentos, actualmente me estoy ayudando con relativeIncludesPath.toString.replace('\\', '/')
, lo que me parece bastante poco atractivo.
Pregunta: ¿Realmente no hay mejor manera que usar reemplazar?
También experimenté con Java URI
, pero es relativize
es incomplete.
Tal vez me esté perdiendo algo. ¿Por qué no puedes relativizar la ruta y luego usar 'toURI()' en lugar de usar 'toString()'? – Gene
Lo intenté, pero luego obtuve un URI absoluto que se ve así: '' file:/C:/root/dir/foo/inc/''. –
Gracias por mencionar 'URI'.No me di cuenta de que podía "resolver", y resulta que es perfecto para mí. –