在 Java 中创建目录

Mohd Ebad Naqvi 2023年1月30日 2021年6月29日
  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