Я разрабатываю приложение Scala для Windows, и мне нужно вставить путь к файлу в шаблон HTML. Я использую Java io
и nio
для работы с файлами и путями.
/* 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)
Проблема в том, что вывод relativeIncludesPath.toString
содержит обратную косую черту \
в качестве разделителей -, потому что приложение работает в Windows -, но поскольку путь должен быть вставлен в шаблон HTML, он должен содержать прямую косую черту /
вместо.
Поскольку я не смог найти ничего похожего на file/path.toStringUsingSeparator('/')
в документации, сейчас я помогаю себе с relativeIncludesPath.toString.replace('\\', '/')
, что мне кажется довольно непривлекательным.
Вопрос:Неужели нет лучшего способа, чем использовать замену?
Я также экспериментировал с Java URI
, но он relativize
является неполным .