Verificar se existe um ficheiro em Java

Rupam Yadav 12 outubro 2023 Java Java File
  1. Utilize java.io.File para verificar se um ficheiro existe em Java
  2. Utilize isFile() para verificar se o ficheiro existe em Java
  3. Utilize Path.isFile() Com isFile() para verificar se o ficheiro existe ou não
Verificar se existe um ficheiro em Java

Este artigo analisará algumas formas simples em Java para verificar se um ficheiro existe. Utilizaremos diferentes pacotes e classes quando quisermos saber se o ficheiro especificado existe.

Utilize java.io.File para verificar se um ficheiro existe em Java

O próprio pacote E/S de Java java.io.File tem o método exists() para verificar se o ficheiro especificado existe. Esta função retorna boolean, o que significa que podemos colocá-lo numa declaração condicional.

Mas há um problema em utilizar apenas o método exists(), uma vez que também pode retornar true se especificarmos acidentalmente um directório. É por isso que também utilizaremos !file.isDirectory() para garantir que o argumento dado é um ficheiro mas não um directório.

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");
    }
  }
}

Resultado:

sampleFile.txt Exists xyz.txt Does not exists

Utilize isFile() para verificar se o ficheiro existe em Java

O método seguinte para verificar se o ficheiro especificado existe é utilizar a função isFile() do mesmo pacote java.io.File que utilizámos no exemplo anterior.

A vantagem de utilizar isFile() sobre exists() é que não temos de verificar se o ficheiro especificado é um directório ou não. Como o nome da função indica, apenas verifica se se trata ou não de um ficheiro.

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");
    }
  }
}

Resultado:

sampleFile.txt Exists E :\Work\java Do not Exist or it is a directory

Podemos ver que se um directório existente é dado como argumento para a função isFile(), ele retorna false.

Utilize Path.isFile() Com isFile() para verificar se o ficheiro existe ou não

Outro pacote Java java.nio.file fornece-nos métodos úteis como toFile() e Paths. Podemos obter o path utilizando Paths.get() e depois convertê-lo para ficheiro utilizando toFile.

Finalmente, podemos trazer de volta o método que utilizámos no último exemplo, isFile(), e combiná-lo para verificar se o ficheiro 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
Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Rupam Yadav avatar Rupam Yadav avatar

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

Artigo relacionado - Java File