我正在尝试用Java创建一个目录。我想我已经正确提供了所有必要的东西,以便我创建目录,但它没有创建。您可以从下面的代码和相应的输出中看到,我构成新目录路径的每个元素都应该是正确且有效的。
但是,似乎tDir.mkdir();
没有做任何事情,因此success
变量始终为false
。我不明白为什么。提前谢谢。
System.out.println("experimentDir: " + experimentDir);
System.out.println("item.getName(): " + item.getName());
System.out.println("dirName: " + dirName);
String tDirStr = experimentDir + "/" + item.getName() + "All/"
+ dirName + "DataAll";
System.out.println("tDirStr: " + tDirStr);
File tDir = new File(tDirStr);
if (tDir.exists()) {
System.out.println("EXISTS!!!");
} else {
boolean success = tDir.mkdir();
if(success) {
System.out.println("Dir created");
} else {
System.out.println("No dir created!");
}
输出:
experimentDir: /home/Documents/datasets/test-experiments
item.getName(): PosNegReviews
dirName: test
tDirStr: /home/Documents/datasets/test-experiments/PosNegReviewsAll/testDataAll
No dir created!
答案 0 :(得分:3)
如果你想创建多个(嵌套)目录,你应该使用mkdirs()(注意 s )。
答案 1 :(得分:1)
您可能需要创建不存在的任何父目录。尝试File.mkdirs()。
答案 2 :(得分:0)
public class Test1{
public static void main(String[] args)
{
String path="c:\\dir1\\dir2\\dir3\\dir4";
File dir=new File(path);
if(!dir.exists()){
dir.mkdirs();
}
}
}
上面的代码将在C:\ dir1 \ dir2 \ dir3中创建dir4。如果父文件夹不存在,那么它也将创建。