Hoe te controleren of een pad of bestand bestaat in Scala

Hoe controleer ik of er een pad / bestand bestaat in Scala dat lijkt op Python? Een voorbeeld hieronder:

os.path.exists("/home")
Out[4]: True

Antwoord 1, autoriteit 100%

Sinds Java 7 zou de betere manier zijn

scala> import java.nio.file.{Paths, Files}
import java.nio.file.{Paths, Files}
scala> Files.exists(Paths.get("/tmp"))
res0: Boolean = true

Antwoord 2, autoriteit 47%

Nou, sorry, ik heb het antwoord op mijn eigen vraag gevonden:

scala> new java.io.File("/tmp").exists
res0: Boolean = true

Antwoord 3, autoriteit 7%

Het is een oude vraag, maar ik heb nog steeds een update nodig. U moet isFileof isRegularFilegebruiken in plaats van existsaangezien existser geen rekening mee houdt of het een bestand of een directory en kan de toepassing misleiden als er een directory is met dezelfde naam.

Java.io gebruiken

new java.io.File("/tmp/sample.txt").isFile

Java.nio gebruiken

java.nio.file.Files.isRegularFile(java.nio.file.Paths.get("/tmp/sample.txt"))

Antwoord 4, autoriteit 2%

scala.reflect.io.File("/tmp/sample.txt").exists

werkt ook.

Other episodes