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