Crea directory in Java

Mohd Ebad Naqvi 12 ottobre 2023
  1. Usa la funzione mkdir() per creare directory in Java
  2. Usa la funzione mkdirs() per creare directory in Java
  3. Usa la funzione createDirectory() per creare directory in Java
  4. Usa la funzione createDirectories() per creare directory in Java
  5. Usa la funzione forceMkdir() per creare directory in Java
Crea directory in Java

Una directory è un percorso o una struttura di catalogazione del file system per l’archiviazione dei file sul computer. Lavoriamo con diverse operazioni di gestione dei file in Java. Un oggetto file viene utilizzato per creare una nuova cartella o directory.

In questo tutorial, creeremo una directory in Java.

Usa la funzione mkdir() per creare directory in Java

Innanzitutto, viene creata l’istanza della classe file. Quindi il parametro viene passato a questa istanza, che è il percorso della directory che vogliamo creare. Infine, il metodo mkdir() viene invocato utilizzando l’oggetto file, creando la directory richiesta.

Per esempio,

import java.io.File;
import java.util.Scanner;
public class CreateDirectory {
  public static void main(String args[]) {
    System.out.println("Path of Directory? ");
    Scanner obj = new Scanner(System.in);
    String path = obj.next();
    System.out.println("Directory Name? ");
    path = path + obj.next();
    File D = new File(path);
    boolean D1 = D.mkdir();
    if (D1) {
      System.out.println("Directory is created successfully");
    } else {
      System.out.println("Error !");
    }
  }
}

Produzione:

Path of Directory?
C:/
Directory Name? 
TestDirectory
Directory is created successfully

Usa la funzione mkdirs() per creare directory in Java

Lo svantaggio del metodo mkdir() è che Java può usarlo solo per creare una singola directory alla volta. Questo inconveniente viene risolto utilizzando il metodo mkdirs() poiché possiamo usarlo per creare una gerarchia di directory. cioè, sottodirectory all’interno della directory padre e così via.

Per esempio,

import java.io.File;
import java.util.Scanner;
public class ABC {
  public static void main(String args[]) {
    System.out.println("Path? ");
    Scanner obj = new Scanner(System.in);
    String path = obj.next();
    System.out.println("Name of Directory? ");
    path = path + obj.next();
    File D = new File(path);
    boolean D1 = D.mkdirs();
    if (D1) {
      System.out.println("Folder is created successfully");
    } else {
      System.out.println("Error Found!");
    }
  }

Produzione:

Path? 
C:/
Name of Directory? 
TestDirectory/TestDirectory1
Folder is created successfully

Usando il metodo mkdirs() TestDirectory1 viene creato all’interno della sua directory padre TestDirectory. Questo non può essere fatto usando il metodo mkdir().

Usa la funzione createDirectory() per creare directory in Java

Il Files.createDirectory() può anche creare una nuova directory in Java. Se esiste già un file con lo stesso nome, viene generata una FileAlreadyExistsException.

Per esempio,

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class JavaCreateDirectory {
  public static void main(String[] args) throws IOException {
    String fileName = "C:\EbadTest\NewTest";

    Path path = Paths.get(fileName);

    if (!Files.exists(path)) {
      Files.createDirectory(path);
      System.out.println("New Directory created !   " + filename);
    } else {
      System.out.println("Directory already exists");
    }
  }
}

Produzione:

New Directory created !  C:\EbadTest\NewTest

Se la directory esiste già, il codice fornirà il seguente output.

Directory already exists

Il codice sopra genererà NoSuchFileException nel caso in cui la gerarchia non esista.

Usa la funzione createDirectories() per creare directory in Java

Il Files.createDirectories() può creare una nuova directory se la directory padre non esiste. Può anche creare una gerarchia di directory. Il metodo createDirectories() non genera un’eccezione se la directory esiste già.

Per esempio,

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class JavaCreateDirectories {
  public static void main(String[] args) throws IOException {
    String fileName = "C:\NonExisting1\NonExisting2";
    Path path = Paths.get(fileName);
    Files.createDirectories(path);
    System.out.println("New Directory created !  " + fileName);
  }
}

Produzione:

New Directory created !  C:\NonExisting1\NonExisting2

Usa la funzione forceMkdir() per creare directory in Java

Il pacchetto org.apache.commons.io.FileUtils ha la funzione forceMkdir(), che crea directory e directory padre se necessario. Genera un’eccezione se esiste già un file con lo stesso nome della directory o della directory.

Per esempio,

import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class JavaCreateDirectories {
  public static void main(String[] args) throws IOException {
    File directory = new File("C:\Test\Test1");
    FileUtils.forceMkdir(directory);
    System.out.println("New Directory created !");
  }
}

Produzione:

New Directory created !