Cómo comprobar si un archivo existe en Java
-
Usaremos
java.io.File
para comprobar si un archivo existe en Java -
Usando
isFile()
para comprobar si el archivo existe en Java -
Usa
Path.isFile()
conisFile()
para comprobar si el archivo existe o no
Este artículo examinará algunas formas sencillas en Java para comprobar si un archivo existe. Usaremos diferentes paquetes y clases cuando queramos saber si el archivo especificado existe.
Usaremos java.io.File
para comprobar si un archivo existe en Java
El propio paquete de Entrada/Salida de Java java.io.File
tiene el método exists()
para comprobar si el archivo especificado existe. Esta función devuelve boolean
, lo que significa que podemos ponerla en una declaración condicional.
Pero hay un problema con el uso exclusivo del método exists()
, ya que también puede devolver true
si especificamos accidentalmente un directorio. Por eso también usaremos !File.isDirectory()
para asegurarnos de que el argumento dado es un archivo pero no un directorio.
import java.io.File;
public class Main {
public static void main(String[] args) {
File file1 = new File("sampleFile.txt");
File file2 = new File("xyz.txt");
// Checks if file1 exists
if (file1.exists() && !file1.isDirectory()) {
System.out.println(file1 + " Exists");
} else {
System.out.println(file1 + " Does not exists");
}
// Checks if file2 exists
if (file2.exists()) {
System.out.println(file2 + " Exists");
} else {
System.out.println(file2 + " Does not exists");
}
}
}
Salida
sampleFile.txt Exists xyz.txt Does not exists
Usando isFile()
para comprobar si el archivo existe en Java
El siguiente método para comprobar si el archivo especificado existe es usar la función isFile()
del mismo paquete java.io.File
que usamos en el ejemplo anterior.
La ventaja de usar isFile()
sobre exists()
es que no tenemos que comprobar si el archivo especificado es un directorio o no. Como el nombre de la función indica, sólo comprueba si es un archivo o no.
import java.io.File;
public class Main {
public static void main(String[] args) {
File file = new File("sampleFile.txt");
File directory = new File("E:/Work/java");
if (file.isFile()) {
System.out.println(file + " Exists");
} else {
System.out.println(file + " Do not Exist or it is a directory");
}
if (directory.isFile()) {
System.out.println(directory + " Exists");
} else {
System.out.println(directory + " Do not Exist or it is a directory");
}
}
}
Salida
sampleFile.txt Exists E :\Work\java Do not Exist or it is a directory
Podemos ver que si se da un directorio existente como argumento a la función isFile()
, devuelve false
.
Usa Path.isFile()
con isFile()
para comprobar si el archivo existe o no
Otro paquete de Java java.nio.file
nos proporciona métodos útiles como toFile()
y Paths
. Podemos obtener el path
usando Paths.get()
y luego convertirlo en un archivo usando toFile
.
Finalmente, podemos traer de vuelta el método que usamos en el último ejemplo, isFile()
, y combinarlo para comprobar si el archivo existe.
import java.nio.file.Path;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) {
Path path = Paths.get("sampleFile.txt");
if (path.toFile().isFile()) {
System.out.println(path + " Exists");
} else {
System.out.println(path + " Do not Exists");
}
}
}
Resultado:
sampleFile.txt Exists
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn