在 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