我尝试使用带有文件对象的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)
答案 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();
}
}
}