El viejo, más o menos obsoleta java.io.File
API tenía un método exists
que volvió cierto si el File
apuntaban a una ya existente en el sistema de archivos, pero no pudo encontrar ningún método comparable para java.nio.file.Path
:¿Cómo comprobar si una ruta apunta a un archivo existente con la nueva API de archivos de Java 7?
scala> import java.nio.file._
import java.nio.file._
scala> val path = Paths.get("/foo")
path: java.nio.file.Path = /foo
scala> path.
asInstanceOf compareTo endsWith getFileName getFileSystem getName getNameCount
getParent getRoot isAbsolute isInstanceOf iterator normalize register
relativize resolve resolveSibling startsWith subpath toAbsolutePath toFile
toRealPath toString toUri
Por supuesto, podría simplemente convertir el path
a un File
pero supongo que hay una mejor manera de hacerlo.
Editar: OK, gracias a todos los que señalan Files.exists
. ¿Alguien sabe por qué se volvió más complicado (que tener un método simple exists
en Path
)?
yup. Eso es. +1 – aioobe
Básicamente, se asegura de que solo haya una implementación (suministrada por Oracle) de los métodos en 'Archivos' y que no sean potencialmente diferentes, ¿qué hubiera sido posible si se definiera en 'Ruta'? – soc
Sí, me imagino que esa es la razón. Solo una implementación, y una que es independiente de la implementación 'Path'. – OpenSauce