Controlla se un file esiste in Java

Rupam Yadav 12 ottobre 2023
  1. Usa java.io.File per verificare se un file esiste in Java
  2. Usa isFile() per controllare se il file esiste in Java
  3. Usa Path.isFile() con isFile() per verificare se il file esiste o meno
Controlla se un file esiste in Java

Questo articolo esaminerà alcuni semplici modi in Java per verificare se esiste un file. Useremo diversi pacchetti e classi quando vogliamo sapere se il file specificato esiste.

Usa java.io.File per verificare se un file esiste in Java

Il pacchetto di input / output di Java java.io.File ha il metodo exist() per verificare se il file specificato esiste. Questa funzione restituisce booleano, il che significa che possiamo inserirla in un’istruzione condizionale.

Ma c’è un problema nell’usare solo il metodo exist() poiché può anche restituire true se specifichiamo accidentalmente una directory. È per questo che useremo anche !file.isDirectory() per assicurarci che l’argomento specificato sia un file ma non una directory.

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

Produzione:

sampleFile.txt Exists
xyz.txt Does not exists

Usa isFile() per controllare se il file esiste in Java

Il prossimo metodo per verificare se il file specificato esiste è usare la funzione isFile() dello stesso pacchetto java.io.File che abbiamo usato nell’esempio precedente.

Il vantaggio di usare isFile() su exist() è che non dobbiamo controllare se il file specificato è o meno una directory. Come indica il nome della funzione, controlla solo se si tratta di un file o meno.

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

Produzione:

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

Possiamo vedere che se una directory esistente viene data come argomento alla funzione isFile(), restituisce false.

Usa Path.isFile() con isFile() per verificare se il file esiste o meno

Un altro pacchetto Java java.nio.file ci fornisce metodi utili come toFile() e Paths. Possiamo ottenere il path usando Paths.get() e poi convertirlo in file usando toFile.

Infine, possiamo ripristinare il metodo che abbiamo usato nell’ultimo esempio, isFile(), e combinarlo per verificare se il file esiste.

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

Produzione:

sampleFile.txt Exists
Autore: Rupam Yadav
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

Articolo correlato - Java File