Java directory FAQ: How do I create a directory (or directories) in Java? (Also written as, “How do I make a directory in Java?”)
To create a directory in Java, just use these two methods from the Java File class:
mkdir
mkdirs
Here are a few examples to demonstrate this.
Java - Create directories with `mkdir`
Here's an example program that demonstrates how to create a directory with the Java mkdir
method.
import java.io.File; // demonstrates how to create a directory in java public class JavaCreateDirectoryExample { public static void main(String[] args) { File dir = new File("/Users/al/tmp/TestDirectory"); // attempt to create the directory here boolean successful = dir.mkdir(); if (successful) { // creating the directory succeeded System.out.println("directory was created successfully"); } else { // creating the directory failed System.out.println("failed trying to create the directory"); } } }
The first time you run this program the directory will be created successfully, and if you try to run it multiple times, it will fail on each successive attempt, because the directory already exists.
Create several layers of directories in Java with `mkdirs`
If you need to create multiple directories at one time, you can use the mkdirs
method of the Java File
class, as shown in this example:
import java.io.File; // shows how to create multiple directories in java // (multiple directory levels) public class JavaCreateMultipleDirectoriesExample { public static void main(String[] args) { // the folders "000/111/222" don't exist initially File dir = new File("/Users/al/tmp/000/111/222"); // create multiple directories at one time boolean successful = dir.mkdirs(); if (successful) { // created the directories successfully System.out.println("directories were created successfully"); } else { // something failed trying to create the directories System.out.println("failed trying to create the directories"); } } }
Like the "mkdir" program, the first time you run this "mkdirs" program the directories should be created successfully, and if you try to run it multiple times, it will fail on each successive attempt, because the directories already exists.
Here's a blurb from the Java File javadoc for the mkdirs
method, explaining how it works:
"Creates the directory named by this abstract pathname, including any necessary but nonexistent parent directories. Note that if this operation fails it may have succeeded in creating some of the necessary parent directories."
Summary: The `mkdir` and `mkdirs` methods
As you can see, both methods (mkdir
and mkdirs
) return a boolean value indicating whether the directories were created successfully. You'll want to include your own logic in the if/then tests that are shown after the mkdir
and mkdirs
method calls.
Finally, as you can see, these "create directory" methods will return "false" if the directories already exist before you try to create them. Therefore, I strongly recommend using the "exists" method of the Java File class before running mkdir/mkdirs. That way you can accurately know if creating the directories truly failed.