Since Java 7 the Files class was introduced this contains (static) methods that operate on files, directories, or other types of files.
The createDirectories() method creates the given directory including the non-existing parent directory.
Example
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 Demo {
public static void main(String args[]) throws IOException {
System.out.println("Enter the path to create a directory: ");
Scanner sc = new Scanner(System.in);
String pathStr = sc.next();
System.out.println("Enter the required directory hierarchy: ");
pathStr = pathStr+sc.next();
//Creating a path object
Path path = Paths.get(pathStr);
//Creating a directory
Files.createDirectories(path);
System.out.println("Directory hierarchy created successfully");
}
}Output
Enter the path to create a directory: D: Enter the required directory hierarchy: sample1/sample2/sapmle3/final_directory Directory hierarchy created successfully
If you verify, you can observe see the created directory hierarchy as −

You can also create a hierarchy of new directories using the method mkdirs() of the File. This method creates the directory with the path represented by the current object, including non-existing parent directories.
Example
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class Demo {
public static void main(String args[]) throws IOException {
System.out.println("Enter the path to create a directory: ");
Scanner sc = new Scanner(System.in);
String pathStr = sc.next();
System.out.println("Enter the required directory hierarchy: ");
pathStr = pathStr+sc.next();
//Creating a File object
File file = new File(pathStr);
//Creating the directory
boolean bool = file.mkdirs();
if(bool){
System.out.println("Directory created successfully");
}else{
System.out.println("Sorry couldn't create specified directory");
}
}
}Output
Enter the path to create a directory: D Enter the required directory hierarchy: sample1/sample2/sample3/final_directory
If you verify, you can observe see the created directory hierarchy as −
