File.toString или Path.toString в Java с определенным разделителем пути

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

11
задан Community 23 May 2017 в 11:45
поделиться