admin 管理员组

文章数量: 887021

细节

Java中io操作,必须先创建文件夹再创建文件。

需要先【存在】文件夹,才能再创建文件。

当然,如果文件夹【不存在】,那么就需要先创建文件夹,再创建文件。

比如  :   c盘已经存在,所以才能创建C盘下的文件

//创建一个File对象,并没有在磁盘创建文件
File file = new File("c:\\abc.txt");
//实际在磁盘创建文件
file.createNewFile();//创建文件File file = new File("c:\\test\\abc.txt");
file.createNewFile();//创建文件

如果文件夹不存在会出现异常

Exception in thread "main" java.io.IOException: 系统找不到指定的路径。
at java.io.WinNTFileSystem.createFileExclusively

解决办法,先创建文件夹,再创建文件

File file = new File("c:\\test\\abc.txt");
if(!file.getParentFile().exists()){file.getParentFile().mkdirs();//创建"c:\\test"文件夹
}
file.createNewFile();//创建c:\\test\\abc.txt文件

 

Java创建父级文件夹,有时候,如果一个路径比较深,那么就需要先递归创建其父级目录。

/*** 创建父级文件夹* * @param file*            完整路径文件名(注:不是文件夹)*/
public static void createParentPath(File file) {File parentFile = file.getParentFile();if (null != parentFile && !parentFile.exists()) {parentFile.mkdirs(); // 创建文件夹createParentPath(parentFile); // 递归创建父级目录}
}

 

注意:

创建一个File对象,并没有在磁盘创建文件

File file = new File("c:\\abc.txt");

实际在磁盘创建文件

file.createNewFile();//创建文件

 

 

参考资料:

Java中io操作,必须先创建文件夹再创建文件吗

.html

 

Java创建父级文件夹

 

本文标签: 细节