Criar diretório em Java

Mohd Ebad Naqvi 12 outubro 2023
  1. Use a função mkdir() para criar diretórios em Java
  2. Use a função mkdirs() para criar diretórios em Java
  3. Use a função createDirectory() para criar diretórios em Java
  4. Use a função createDirectories() para criar diretórios em Java
  5. Use a função forceMkdir() para criar diretórios em Java
Criar diretório em Java

Um diretório é um local ou estrutura de catalogação do sistema de arquivos para armazenar arquivos em seu computador. Trabalhamos com diferentes operações de manipulação de arquivos em Java. Um objeto de arquivo é usado para criar uma nova pasta ou diretório.

Neste tutorial, criaremos um diretório em Java.

Use a função mkdir() para criar diretórios em Java

Primeiro, a instância da classe de arquivo é criada. Em seguida, o parâmetro é passado para esta instância, que é o caminho do diretório que queremos fazer. Finalmente, o método mkdir() é invocado usando o objeto de arquivo, criando o diretório necessário.

Por exemplo,

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

Resultado:

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

Use a função mkdirs() para criar diretórios em Java

A desvantagem do método mkdir() é que Java só pode usá-lo para criar um único diretório por vez. Esta desvantagem é resolvida usando o método mkdirs(), pois podemos usá-lo para criar uma hierarquia de diretórios. ou seja, subdiretórios dentro do diretório pai e assim por diante.

Por exemplo,

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

Resultado:

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

Usando o método mkdirs() TestDirectory1 é criado dentro de seu diretório pai TestDirectory. Isso não pode ser feito usando o método mkdir().

Use a função createDirectory() para criar diretórios em Java

O Files.createDirectory() também pode criar um novo diretório em Java. Uma FileAlreadyExistsException é lançada se um arquivo com o mesmo nome já existir.

Por exemplo,

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

Resultado:

New Directory created !  C:\EbadTest\NewTest

Se o diretório já existir, o código fornecerá a seguinte saída.

Directory already exists

O código acima lançará NoSuchFileException caso a hierarquia não exista.

Use a função createDirectories() para criar diretórios em Java

O Files.createDirectories() pode criar um novo diretório se o diretório pai não existir. Ele também pode fazer uma hierarquia de diretórios. O método createDirectories() não lança uma exceção se o diretório já existir.

Por exemplo,

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

Resultado:

New Directory created !  C:\NonExisting1\NonExisting2

Use a função forceMkdir() para criar diretórios em Java

O pacote org.apache.commons.io.FileUtils tem a função forceMkdir(), criando diretórios e diretórios pais se necessário. Ele lança uma exceção se um arquivo com o mesmo nome do diretório ou o diretório já existir.

Por exemplo,

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

Resultado:

New Directory created ! 

Artigo relacionado - Java Directory