Windows에서 Scala 응용 프로그램을 개발 중이며 파일 경로를 HTML 템플릿에 삽입해야합니다. Java의 io
및 nio
을 사용하여 파일 및 경로를 처리합니다. 응용 프로그램이 Windows에서 실행되기 때문에 - -하지만 경로가 HTML 템플릿에 삽입되기 때문에, 앞으로 대신 /
슬래시 있어야합니다특정 경로 구분 기호가있는 Java의 File.toString 또는 Path.toString
/* 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
의 출력이 백 슬래시 구분 기호로 \
이 포함되어 있다는 것입니다.
문서에서 file/path.toStringUsingSeparator('/')
과 같은 것을 찾지 못했기 때문에 현재는 호의적이 아닌 relativeIncludesPath.toString.replace('\\', '/')
으로 자신을 돕고 있습니다.
질문 : 바꾸기를 사용하는 것보다 실제로 더 좋은 방법이 있습니까?
또한 Java의 URI
으로 실험했지만 relativize
은 incomplete입니다.
아마도 나는 뭔가를 놓치고 있습니다. 왜 경로를 상대화하지 않고 toString()을 사용하는 대신에'toURI()'를 사용할 수 없습니까? – Gene
나는 그것을 시도했지만 다음과 같이 보이는 절대 URI를 얻는다 :''file :/C :/root/dir/foo/inc /''. –
'URI'에 대해 언급 해 주셔서 감사합니다.나는 그것이 '해결할 수있다'는 것을 깨닫지 못했고, 그것이 나를 위해 완벽하다는 것을 알게되었습니다. –