在 Java 中创建目录

Mohd Ebad Naqvi 2023年10月12日
  1. 在 Java 中使用 mkdir() 函数创建目录
  2. 在 Java 中使用 mkdirs() 函数创建目录
  3. 在 Java 中使用 createDirectory() 函数创建目录
  4. 在 Java 中使用 createDirectories() 函数创建目录
  5. 在 Java 中使用 forceMkdir() 函数创建目录
在 Java 中创建目录

目录是用于在计算机上存储文件的位置或文件系统编目结构。我们在 Java 中处理不同的文件处理操作。文件对象用于创建新文件夹或目录。

在本教程中,我们将在 Java 中创建一个目录。

在 Java 中使用 mkdir() 函数创建目录

首先,创建文件类的实例。然后参数传递给这个实例,就是我们要制作的目录路径。最后,使用文件对象调用 mkdir() 方法,创建所需的目录。

例如,

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

输出:

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

在 Java 中使用 mkdirs() 函数创建目录

mkdir() 方法的缺点是 Java 一次只能使用它来创建一个目录。这个缺点可以通过使用 mkdirs() 方法解决,因为我们可以使用它来创建目录层次结构。即,父目录中的子目录等等。

例如,

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

输出:

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

使用 mkdirs() 方法在其父目录 TestDirectory 中创建 TestDirectory1。这不能使用 mkdir() 方法完成。

在 Java 中使用 createDirectory() 函数创建目录

Files.createDirectory() 也可以在 Java 中创建一个新目录。如果已存在同名文件,则抛出 FileAlreadyExistsException

例如,

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

输出:

New Directory created !  C:\EbadTest\NewTest

如果目录已经存在,则代码将给出以下输出。

Directory already exists

如果层次结构不存在,上面的代码将抛出 NoSuchFileException

在 Java 中使用 createDirectories() 函数创建目录

如果父目录不存在,Files.createDirectories() 可以创建一个新目录。它还可以创建目录层次结构。如果目录已经存在,createDirectories() 方法不会抛出异常。

例如,

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

输出:

New Directory created !  C:\NonExisting1\NonExisting2

在 Java 中使用 forceMkdir() 函数创建目录

org.apache.commons.io.FileUtils 包具有 forceMkdir() 函数,可根据需要创建目录和父目录。如果与目录同名的文件或目录已存在,则抛出异常。

例如,

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

输出:

New Directory created ! 

相关文章 - Java Directory