java'文件'对象没有制作目录和文件

时间:2014-05-07 11:52:05

标签: java file-io

我尝试使用带有文件对象的java创建目录和文件:

import java.io.*;
class CreateFile{

    public static void main(String[] args) throws IOException{
        File f = new File("File/handling/file1.txt");
        if(!f.exists())
           f.createNewFile();
    }
}

但是它显示错误(见下文)并且无法创建它,路径和文件名在执行之前并不存在。我不知道自己哪里出错了,有人请说明错误是什么以及如何解决?我可能需要了解文件对象,所以请告诉我......

见错误:

Exception in thread "main" java.io.IOException: The system cannot find the path
specified

    at java.io.WinNTFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:947)
    at CreateFile.main(CreateFile.java:6)

1 个答案:

答案 0 :(得分:4)

错误告诉您,相对于您正在运行此目录的位置,没有File目录,或者存在,但它没有handling子目录。在这种情况下,exists会返回false,因此您致电createNewFile尝试创建该文件,但您尝试创建该文件的目录并不存在存在,所以它会引发异常。

如有必要,您可以使用mkdirs创建目录,如下所示:

import java.io.*;
class CreateFile{

    public static void main(String[] args) throws IOException{
        File f = new File("File/handling/file1.txt");
        if(!f.exists()) {
           f.getParentFile().mkdirs(); // This is a no-op if it exists
           f.createNewFile();
        }
    }
}