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

来源:互联网 发布:mac air 充电灯不亮 编辑:程序博客网 时间:2024/05/18 08:27

原文链接:

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 。 

0 0
原创粉丝点击