CodeGym /Blogue Java /Random-PT /Como verificar se existe um arquivo em Java
John Squirrels
Nível 41
San Francisco

Como verificar se existe um arquivo em Java

Publicado no grupo Random-PT

Por que precisamos verificar se um arquivo “existe?”

Ao lidar com operações de arquivo (ler/gravar/criar/excluir/atualizar, etc.), muitos novatos podem se perguntar por que precisamos verificar se um arquivo existe? A resposta apropriada para isso seria, para evitar NoSuchFileException , é sempre uma maneira mais segura de acessar um arquivo. Conseqüentemente, você precisa verificar se existe um arquivo antes de acessá-lo para evitar exceções de tempo de execução.Como verificar se existe um arquivo em Java - 1

Como verificar usando o método file.exists()?

Java fornece um método booleano simples, file.exists() , que não requer nenhum parâmetro para verificar o arquivo relevante em um determinado caminho. Ao verificar a existência de um arquivo, considere 3 cenários.
  • O arquivo foi encontrado.
  • O arquivo não foi encontrado.
  • O status do arquivo é desconhecido se as permissões não forem concedidas (por motivos de segurança).
O método File.exists() retorna “ true ” se o arquivo for encontrado. Caso não seja encontrado ou o acesso falhe, retorna “ false ”.

Exemplo

Vamos dar uma olhada em um exemplo de código simples para ver a implementação.

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());
	}
}
Saída
O arquivo existe em "C:\Users\Lubaina\Documents\myNewTestFile.txt"? true O arquivo existe em "C:\Users\Lubaina\Documents\myOtherTestFile.txt"? falso
Observe que o método file.exists() também funciona para caminhos de “ diretório ”. Se você verificar um caminho de diretório válido com este método, ele retornará true ou false caso contrário. Para uma melhor compreensão, você pode dar uma olhada no seguinte bloco 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);
	}
}
Saída
O diretório em "C:\Users\Lubaina\Documents\javaContent" existe. O recurso "C:\Users\Lubaina\Documents\javaContent" é um arquivo? false O recurso "C:\Users\Lubaina\Documents\myNewTestFile.txt" é um arquivo? verdadeiro
Como você pode ver na saída, o diretório chamado “javaContent” foi validado pelo método exists() . Portanto, se você deseja verificar especificamente se um arquivo não é um diretório, pode usar o método booleano isDirectory() fornecido pela classe File em Java.

Conclusão

Ao final deste post, você deve estar familiarizado com como verificar se um arquivo existe em Java. Você pode escrever seus próprios programas para testar e entender essa funcionalidade. Assim que estiver confortável com isso, você também pode explorar outras formas de verificar a presença de um arquivo (por exemplo, usando links simbólicos ou classe nio). Boa sorte e codificação feliz! :)
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION