Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mkdir() is not creating the new directory

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.

like image 732
user2529216 Avatar asked Jul 19 '13 14:07

user2529216


2 Answers

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

like image 144
RNJ Avatar answered Oct 04 '22 06:10

RNJ


its obj.mkdirs()

have a look to this:

File  f = new File("non_existing_dir/someDir");
System.out.println(f.mkdir());
System.out.println(f.mkdirs());

The first print won't create a directory and returns false but the second does and returns true

like image 20
tokhi Avatar answered Oct 04 '22 05:10

tokhi