CodeGym /Blog Java /Random-ES /Cómo comprobar si existe un archivo en Java
Autor
Oleksandr Miadelets
Head of Developers Team at CodeGym

Cómo comprobar si existe un archivo en Java

Publicado en el grupo Random-ES

¿Por qué necesitamos verificar si un archivo “existe”?

Al tratar con operaciones de archivos (leer/escribir/crear/eliminar/actualizar, etc.), muchos novatos pueden preguntarse por qué necesitamos verificar si existe un archivo. La respuesta adecuada a esto sería, para evitar NoSuchFileException , siempre es una forma más segura de acceder a un archivo. En consecuencia, debe verificar si existe un archivo antes de acceder a él para evitar excepciones de tiempo de ejecución.Cómo comprobar si existe un archivo en Java - 1

¿Cómo verificar usando el método file.exists()?

Java proporciona un método booleano simple, file.exists() que no requiere ningún parámetro para verificar el archivo relevante en una ruta determinada. Al verificar la existencia de un archivo, considere 3 escenarios.
  • Se encuentra el archivo.
  • No se encuentra el archivo.
  • El estado del archivo es desconocido si no se otorgan los permisos (por razones de seguridad).
El método File.exists() devuelve " verdadero " si se encuentra el archivo. En caso de que no se encuentre o falle el acceso, devuelve “ falso ”.

Ejemplo

Echemos un vistazo a un ejemplo de código simple para ver la implementación.

package com.java.exists;
import java.io.File;

public class ExistsMethodInJava {

	public static void main(String[] args) {

		String filePath = "C:\\Users\\Lubaina\\Documents\\myNewTestFile.txt";
		File file = new File(filePath);

		// check if the file exists at the file path
		System.out.println("Does File exists at \"" + filePath + "\"?\t" + file.exists());
		
		filePath = "C:\\Users\\Lubaina\\Documents\\myOtherTestFile.txt";
		File nextFile = new File(filePath);
		
		// check if the file exists at the file path
		System.out.println("Does File exists at \"" + filePath + "\"?\t" + nextFile.exists());
	}
}
Producción
¿Existe el archivo en "C:\Users\Lubaina\Documents\myNewTestFile.txt"? true ¿El archivo existe en "C:\Users\Lubaina\Documents\myOtherTestFile.txt"? FALSO
Tenga en cuenta que el método file.exists() también funciona para rutas de " directorio ". Si verifica una ruta de directorio válida con este método, devolverá verdadero o falso de lo contrario. Para una mejor comprensión, puede echar un vistazo al siguiente bloque de código.

package com.java.exists;
import java.io.File;

public class CheckFileExists {

	// check if the "file" resource exists and not "directory"
	public static boolean checkFileExists(File file) {
		return file.exists() && !file.isDirectory();
	}

	public static void main(String[] args) {

		String directoryPath = "C:\\Users\\Lubaina\\Documents\\javaContent";
		File direcotry = new File(directoryPath);

		// check if the directory exists at the dir path
		if (direcotry.exists()) {
			System.out.println("Direcotry at \"" + directoryPath + "\" exists.\n");
		} else {
			System.out.println("Direcotry at \"" + directoryPath + "\" does not exist.\n");
		}

		// check if the resource present at the path is a "file" not "directory"
		boolean check = checkFileExists(direcotry);
		System.out.println("Is the resource \"" + direcotry + "\" a File? " + check);

		String filePath = "C:\\Users\\Lubaina\\Documents\\myNewTestFile.txt";
		File file = new File(filePath);
		check = checkFileExists(file);
		System.out.println("Is the resource \"" + file + "\" a File? " + check);
	}
}
Producción
El directorio en "C:\Users\Lubaina\Documents\javaContent" existe. ¿Es el recurso "C:\Users\Lubaina\Documents\javaContent" un archivo? false ¿Es el recurso "C:\Users\Lubaina\Documents\myNewTestFile.txt" un archivo? verdadero
Como puede ver en el resultado, el directorio llamado "javaContent" ha sido validado por el método exist() . Entonces, si desea verificar específicamente que un archivo no es un directorio, puede usar el método booleano isDirectory() proporcionado por la clase File en Java.

Conclusión

Al final de esta publicación, debe estar familiarizado con cómo verificar si existe un archivo en Java. Puede escribir sus propios programas para probar y comprender esta funcionalidad. Una vez que se sienta cómodo con él, también puede explorar otras formas de verificar la presencia de un archivo (por ejemplo, usando enlaces simbólicos o clase nio). ¡Buena suerte y feliz codificación! :)
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION