Windows'ta bir Scala uygulaması geliştiriyorum ve bir dosyaya bir HTML yoluna bir yol eklemem gerekiyor. Dosya ve yollarla çalışmak için Java'nın io
ve nio
kullanıyorum. Uygulama Windows üzerinde çalışır çünkü - - ama yol bir HTML şablonuna eklenecek olduğundan, ileriye doğru yerine /
eğik içermelidirJava'nın File.toString veya Path.toString belirli bir yol ayırıcısına sahip
/* 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)
sorun relativeIncludesPath.toString
çıkış ters eğik çizgi ayırıcı olarak \
içermesidir.
Dokümanlarda file/path.toStringUsingSeparator('/')
gibi bir şey bulamadığım için, şu anda kendimi şu anda oldukça rahatsız edici bulduğum relativeIncludesPath.toString.replace('\\', '/')
ile yardımcı oluyorum.
Soru: Gerçekten değiştirmek yerine daha iyi bir yolu yok mu?
Ayrıca, Java'nın URI
ile denedim, ancak relativize
, incomplete.
Belki bir şeyleri özlüyorum. Neden yolu göreceli hale getiremiyorsunuz ve sonra 'toString()' yerine 'toURI()' işlevini kullanamıyorsunuz? – Gene
Bunu denedim, ancak sonra buna benzeyen mutlak bir URI aldım: '' dosya:/C:/root/dir/foo/inc/''. –
"URI" ifadesini kullandığınız için teşekkür ederiz.Çözebileceğinin farkında değildim ve bunun benim için mükemmel olduğu ortaya çıkıyor. –