mkdir() is not creating the new directory

user2529216 picture user2529216 · Jul 19, 2013 · Viewed 34.7k times · Source

I am using Eclipse and jdk1.7. I am making a basic program using file handling, in which an output directory inside the directory is to be made. But when I run the program, the output is showing false and the directory is not made. I thought that the output was false because of the presence of a directory with the same name, but this is not the reason. So I need help. Here is my code:

import java.io.File;

public class P {
    public static void main(String[] args) {
        File f1 = new File ("abc");
        File f2 = new File (f1,"abc");
        System.out.println(f2.mkdir());
    }
}

Its output is false and yet no directory has been created. How can I resolve this problem? This is not only in this program - each and every program in which I am calling the method mkdir() is having the same problem.

Answer

RNJ picture RNJ · Jul 19, 2013

You have to use mkdirs() with an s if you want to create multiple directories. It is probably also worth checking that you canWrite() to the location as some places are permissioned. Both of these are on the File class