English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

教程基础Java

Controllo dei flussi Java

Array Java

Orientamento ad oggetti Java (I)

Orientamento ad oggetti Java (II)

Orientamento ad oggetti Java (III)

Gestione delle eccezioni Java

List Java

Queue (coda) Java

Map collection Java

Set collection Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Programma Java per eliminare directory vuote e non vuote

Galleria di esempi Java

In questo esempio, impareremo a eliminare una directory vuota, una directory non vuota e una directory con sottodirectory non vuote in Java.

Esempio 1: Programma Java per eliminare una directory vuota

import java.io.File;
class Main {
  public static void main(String[] args) {
    try {
      // crea un nuovo oggetto file
      File directory = new File("Directory");
      // elimina la directory
      boolean result = directory.delete();
      if(result) {
        System.out.println("Directory deleted");
      }
      else {
        System.out.println("Directory not found");
      }
    } catch (Exception e) {
      e.getStackTrace();
    }
  }
}

Nell'esempio sopra, abbiamo utilizzato il metodo delete() della classe File per eliminare il file di nomeDirectorydirectory.

In questo caso, se la directory esiste, viene visualizzato il messaggioLa directory è stata eliminata. Altrimenti, viene visualizzato " Directory not found.

Per ulteriori informazioni sui file, visitareJava File.

Esempio 2: Eliminazione di directory non vuote

In Java, per eliminare una directory non vuota, dobbiamo prima eliminare tutti i file presenti nella directory. Poi possiamo eliminare la directory.

import java.io.File;
class Main {
  public static void main(String[] args) {
    try {
      // crea un nuovo oggetto file
      File directory = new File("Directory");
      // elenca tutti i file nell'array
      File[] files = directory.listFiles();
      // elimina ogni file dalla directory
      for(File file : files) {
        System.out.println(file + " deleted.");
        file.delete();
      }
      // elimina la directory
      if(directory.delete()) {
        System.out.println("Directory deleted");
      }
      else {
        System.out.println("Directory not Found");
      }
    } catch (Exception e) {
      e.getStackTrace();
    }
  }
}

Nell'esempio sopra, abbiamo utilizzato un ciclo for-each per eliminare tutti i file presenti nella directory. Una volta eliminati tutti i file, abbiamo utilizzato il metodo delete() per eliminare la directory.

Esempio 3: Eliminazione ricorsiva di directory non vuote

import java.io.File;
class Main {
  public static void deleteDirectory(File directory) {
    // il file è una directory
    if(directory.isDirectory()) {
      File[] files = directory.listFiles();
      // se la directory contiene qualsiasi file
      if(files != null) {
        for(File file : files) {
          // se la sottodirectory non è vuota, effettua una chiamata ricorsiva
          deleteDirectory(file);
        }
      }
    }
    if(directory.delete()) {
      System.out.println(directory + " was deleted");
    }
    else {
      System.out.println("Directory not deleted");
    }
  }
  public static void main(String[] args) {
    try {
      // crea un nuovo oggetto file
      File directory = new File("Directory");
      Main.deleteDirectory(directory);
    } catch (Exception e) {
      e.getStackTrace();
    }
  }
}

Supponiamo di avere un directory non vuota chiamata Directory. La Directory contiene 2 file chiamati file1.txt e file2.txt e una directory non vuota chiamata Subdirectory. Allo stesso modo, la Subdirectory contiene un file chiamato file11.txt.

Ora, quando eseguiamo il programma, otteniamo l'output seguente.

Directory\file1.txt è stata eliminata
Directory\file2.txt è stata eliminata
Directory\Subdirectory\file11.txt è stata eliminata
Directory\Subdirectory è stata eliminata
La directory è stata eliminata

Quindi, iniziamo a eliminare 2 file, quindi eliminare ricorsivamente i file all'interno della Subdirectory. Una volta che la Subdirectory è vuota, viene eliminata. Infine, viene eliminato il Directory.

Galleria di esempi Java