The class named File of the java.io package represents a file or directory (path names) in the system. This class provides various methods to perform various operations on files/directories.
The mkdir() method of this class creates a directory with the path represented by the current object.
Therefore, to create a directory −
Following Java example reads the path and name of the directory to be created, from the user, and creates it.
import java.io.File; import java.util.Scanner; public class CreateDirectory { public static void main(String args[]) { System.out.println("Enter the path to create a directory: "); Scanner sc = new Scanner(System.in); String path = sc.next(); System.out.println("Enter the name of the desired a directory: "); path = path+sc.next(); //Creating a File object File file = new File(path); //Creating the directory boolean bool = file.mkdir(); if(bool){ System.out.println("Directory created successfully"); }else{ System.out.println("Sorry couldn’t create specified directory"); } } }
Enter the path to create a directory: D:\ Enter the name of the desired a directory: sample_directory Directory created successfully
If you verify, you can observe see the created directory as −
But, if you specify a path in a drive that doesn’t exist, this method will not create the required directory.
For example, if the D drive of my (windows) system is empty and if I specify the path of the directory to be created as −
D:\test\myDirectories\sample_directory
Where the test and myDirectories folders doesn’t exist, the mkdir() method will not create it.
To create a hierarchy of new directories you can using the method mkdirs() of the same class. This method creates the directory with the path represented by the current object, including non-existing parent directories.
import java.io.File; import java.util.Scanner; public class CreateDirectory { public static void main(String args[]) { System.out.println("Enter the path to create a directory: "); Scanner sc = new Scanner(System.in); String path = sc.next(); System.out.println("Enter the name of the desired a directory: "); path = path+sc.next(); //Creating a File object File file = new File(path); //Creating the directory boolean bool = file.mkdirs(); if(bool){ System.out.println("Directory created successfully"); }else{ System.out.println("Sorry couldnt create specified directory"); } } }
Enter the path to create a directory: D:\test\myDirectories\ Enter the name of the desired a directory: sample_directory Directory created successfully
If you verify you can observe see the created directory as −