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 が一度に 1つのディレクトリを作成するためにしか使用できないことです。この欠点は、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() メソッドを使用して、TestDirectory1 はその親ディレクトリ TestDirectory 内に作成されます。これは、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