Я разрабатываю приложение 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 неполный.