您的位置:首页 > 其它

Fle.createNewFile() 和 Fle.createTempFile() 比较和区别

2014-07-06 14:11 387 查看
原文链接:

http://wzhiju.iteye.com/blog/1119037

最近,在看代码时看到了一个方法, File.createTempFile() ,由此联想到File.createNewFile() 方法,一时间不知道两者到底有什么区别,感觉都是创建新文件嘛,后来查看api文档介绍,并经过自己动手试验,终于有了一个较为清楚地认识。

1. File 的 createNewFile() 方法:

createNewFile();返回值为 boolean;

方法介绍:当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。

使用:

File file = new File("D:\\test\\1.txt"); 
boolean res = file.createNewFile(); 
if(!res)System.out.println("创建失败!");


如果D:/test 目录下没有 1.txt文件,则创建该文件;如果没有test目录,直接抛出异常,如果1.txt已经存在,那么文件创建失败。

可以得知,createNewFile() 方法,根据抽象路径创建一个新的空文件,当抽象路径制定的文件存在时,创建失败。

2. File 的 createTempFile() 方法

该方法有两种调用方式:

createTempFile(String prefix, String suffix);

在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。

createTempFile(String prefix, String suffix, File directory);

在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。

File file2 = new File("D:\\temp");// D;/temp 为一个目录 
File tempFile1= file2.createTempFile("msg", ".tmp",file2); 
File tempFile2 = file2.createTempFile("msg", ".tmp"); 
System.out.println(tempFile2.getAbsolutePath());


可以这么认为,createTempFile() 方法,在指定的目录下创建一个temp文件,directory 类型为File ,如果路径不存在,则创建失败。createTempFile(String prefix, String suffix);方法默认的保存路径为:C:\Documents
and Settings\Administrator\Local Settings\Temp 。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: