Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでディレクトリを作成する方法|FilesクラスのcreateDirectory()とcreateDirectories()の使い方


Java 7以降、java.nio.fileパッケージにFilesクラスが追加されました。このクラスには、ファイルやディレクトリといった各種ファイルを操作するためのstaticメソッドが多数用意されています。

createDirectory()メソッドは、作成対象のディレクトリのパスを引数として受け取り、その場所に新しいディレクトリを作成します。ただし、親ディレクトリが存在しない場合や、同名のディレクトリがすでに存在する場合には例外が発生する点に注意しましょう。

createDirectory()メソッドの使用例

次のJavaプログラムでは、ユーザーから作成するディレクトリのパスと名前を入力してもらい、そのディレクトリを新規作成します。

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Scanner;

public class Test {
    public static void main(String args[]) throws IOException {
        System.out.println("ディレクトリを作成するパスを入力してください:");
        Scanner sc = new Scanner(System.in);
        String pathStr = sc.next();
        System.out.println("作成するディレクトリ名を入力してください:");
        pathStr = pathStr + sc.next();

        // パスオブジェクトの生成
        Path path = Paths.get(pathStr);

        // ディレクトリの作成
        Files.createDirectory(path);

        System.out.println("ディレクトリが正常に作成されました");
    }
}

実行結果

ディレクトリを作成するパスを入力してください:
D:
作成するディレクトリ名を入力してください:
sample_directory
ディレクトリが正常に作成されました

実際にエクスプローラーやターミナルで確認すると、指定した場所に「sample_directory」が作成されていることがわかります。

Javaでディレクトリを作成する方法|FilesクラスのcreateDirectory()とcreateDirectories()の使い方

createDirectories()メソッドで親ディレクトリもまとめて作成する

createDirectories()メソッドを使うと、指定したディレクトリに加えて、まだ存在しない親ディレクトリもすべて自動的に作成できます。途中の階層が存在しなくてもエラーにならず、すでにディレクトリが存在している場合も例外はスローされません。そのため、深い階層構造を一括で作成したい場合に非常に便利です。

createDirectories()メソッドの使用例

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Scanner;

public class Test {
    public static void main(String args[]) throws IOException {
        System.out.println("ディレクトリを作成するパスを入力してください:");
        Scanner sc = new Scanner(System.in);
        String pathStr = sc.next();
        System.out.println("作成するディレクトリ名を入力してください:");
        pathStr = pathStr + sc.next();

        // パスオブジェクトの生成
        Path path = Paths.get(pathStr);

        // 存在しない親ディレクトリも含めて作成
        Files.createDirectories(path);

        System.out.println("ディレクトリが正常に作成されました");
    }
}

実行結果

ディレクトリを作成するパスを入力してください:
D:
作成するディレクトリ名を入力してください:
sample/test1/test2/test3/final_folder
ディレクトリが正常に作成されました

実行後にフォルダを確認すると、「sample」→「test1」→「test2」→「test3」→「final_folder」という多階層のディレクトリが一度に作成されていることが確認できます。

Javaでディレクトリを作成する方法|FilesクラスのcreateDirectory()とcreateDirectories()の使い方

まとめ

  • 単一のディレクトリだけを作成する場合は、Files.createDirectory()を使用します。親ディレクトリが存在しないと失敗します。
  • 存在しない親ディレクトリも含めて一括で作成したい場合は、Files.createDirectories()を使用します。
  • どちらのメソッドもjava.nio.file.Filesクラスに含まれており、Java 7以降で利用できます。
  1. JavaでJSONファイルを作成する方法をわかりやすく解説

    JSON(JavaScript Object Notation)は、人間が読みやすい形式でデータを交換するために設計された、軽量なテキストベースのオープン標準フォーマットです。JSONの記法は、C、C++、Java、Python、Perlなど、多くのプログラミング言語に精通したプログラマーにとって馴染み深いものとなっています。 JSONドキュメントのサンプル 以下は、書籍情報を格納した典型的なJSONドキュメントの例です。 { book: [ { id: 01, language: Java, ed

  2. Tkinterのfiledialogでファイルパス(初期ディレクトリ)を指定する方法

    Tkinterには、アプリケーションのUIコンポーネントやユーザー操作用の要素を構築するための組み込み関数やクラスライブラリが数多く用意されています。その中でもfiledialogモジュールは、ファイルやディレクトリを選択するウィンドウを作成するためのクラスと関数を提供しています。ユーザーにシステム上のファイルやフォルダをブラウズしてもらいたい場面で非常に便利です。 さらに、ファイルを選択させるときの起点となるディレクトリの場所を指定することもできます。特定の場所から始まるファイルダイアログを表示するには、静的ファクトリ関数askopenfilename(initialdir=<loc