码迷,mamicode.com
首页 > 其他好文 > 详细

File类的createNewFile()和mkdirs() mkdir()

时间:2019-09-04 00:08:52      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:iss   sts   get   ted   情况   creat   创建文件夹   als   多级   

createNewFile文件不存在则创建,存在则不创建并返回false,文件路径必须存在才可创建路径下的文件(注意它只能创建文件,即如果你给了/storage/emulated/0/hello/snow/这样一个路径,它最后也只是在hello文件夹中创建了snow的未知文件而不是文件夹,如上所述的创建成功的前提还是要/storage/emulated/0/hello/这样的文件夹路径存在,如果只有/storage/emulated/0这样的文件夹路径,它是不能够创建hello文件夹的,所以创建失败) 

 

mkdirs()和mkdirs()专门用来创建文件夹的,不存在则创建返回true,存在则返回false,区别在于mkdirs可以creating missing parent directories if necessary.同样的路径为/storage/emulated/0/hello/snow.bin也只是在hello文件夹啊下创建了snow.bin文件夹而不是文件。

 

所以一般需要createNewFile()和mkdirs()结合使用,先创建文件夹再创建文件。

File file = new File(filePath);
if (!file.exists()) {
file.getParentFile().mkdirs();
file.createNewFile();

}

mkdir:只能用来创建文件夹,且只能创建一级目录,如果上级不存在,就会创建失败。
mkdirs:只能用来创建文件夹,且能创建多级目录 ,如果上级不存在,就会自动创建。(创建文件夹多用此)
createNewFile:只能用来创建文件,且只能在已存在的目录下创建文件,否则会创建失败。(FileOutputStream os=new FileOutputStream(file)也可创建文件,看情况使用)

File类的createNewFile()和mkdirs() mkdir()

标签:iss   sts   get   ted   情况   creat   创建文件夹   als   多级   

原文地址:https://www.cnblogs.com/renjiaqi/p/11456358.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!