1. Java 中File类的createNewFile()与createTempFile()的区别

最近,在看代码时看到了一个方法, 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 。

2. java中File的delete和deleteOnExit区别

Java的File类中有两个delete方法:delete和deleteOnExit

delete无需解释,为直接删除,deleteOnExit文档解释为:在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。也就是说,程序运行deleteOnExit成功后,File并没有直接删除,而是在虚拟机正常运行结束后才会删除。

file创建文件的另一个方法:createTempFile(在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称)

这两个方法其实是对应的,使用场景是这样的:

程序有个需求需要创建临时文件,这个临时文件可能作为存储使用,但是程序运行结束后,这个文件应该就被删除了。在哪里做删除操作呢,需要监控程序关闭吗,如果有很多地方可以中止程序,这个删除操作需要都放置一份吗?其实只要这么写,程序结束后文件就会被自动删除了:

  File file=File.createTempFile("tmp",null);
//这里对文件进行操作
file.deleteOnExit();

Java 中File类的createNewFile()与createTempFile(), delete和deleteOnExit区别的更多相关文章

  1. java中File类的常用方法总结

    java中File类的常用方法 创建: createNewFile()在指定的路径创建一个空文件,成功返回true,如果已经存在就不创建,然后返回false. mkdir() 在指定的位置创建一个此抽 ...

  2. Java中File类的基本用法

    File类的基本用法 java.io.File类:代表文件和目录.在开发中,读取文件.生成文件.删除文件.修改文件的属性时经常会用到此类. File类的常用构造方法:public File(Strin ...

  3. Java中File类的方法详解

    File类也是Java中一个比较重要的类,通过他我们可以实现对文件的一系列操作,其内置了很多方法,下面我将按方法的功能分块,逐一讲解: 快速导航 构造方法 常用方法 创建目录 判断 `is...` t ...

  4. java中File类的使用

    public class FileLei {    public static void main(String[] args) throws IOException {        //..表示上 ...

  5. java中File类的常用所有方法及其应用

    创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false.mkdir()  在指定位置创建一个单级文件夹.mkdirs()  在指定位置 ...

  6. java中File类的相关学习

    File类 1.关于系统路径分割符. 在Windows中,使用反斜杠“\”作为路径分割符,比如“c:\test”,但是java中反斜杠表示转义,所以需要用“C:\\test”在程序中来表示路径.还可以 ...

  7. java中File类中list()和listFiles()方法区别

    list()和listFiles()方法区别: 1.返回值类型不同:前者为String数组,后者为File对象数组 2.数组中元素内容不同:前者为string类型的[文件名](包含后缀名),后者为Fi ...

  8. Java中File类总结

    /** * @Title:JavaFile.java * @Package:com.yhd.chart.model * @Description:File类测试 * @author:Youhaidon ...

  9. java中File类详解

    构造函数 代码如下: public class FileDemo {     public static void main(String[] args){         //构造函数File(St ...

随机推荐

  1. linux上搭建ftp、vsftp, 解决访问ftp超时连接, 解决用户指定访问其根目录,解决ftp主动连接、被动连接的问题

    linux上搭建ftp 重要 解决如何搭建ftp         解决用户指定访问其根目录         解决访问ftp超时连接         解决ftp主动连接.被动连接的问题 1.安装ftp ...

  2. 面试题---实现strcpy函数

    #include <stdio.h> char *strcpy(char *strDest,char *strSrc) { if(strDest == NULL || strSrc == ...

  3. android app启动过程

    Native进程的运行过程 一般程序的启动步骤,可以用下图描述.程序由内核加载分析,使用linker链接需要的共享库,然后从c运行库的入口开始执行. 通常,native进程是由shell或者init启 ...

  4. vim中使用系统粘贴板

    在vim中如果想使用系统粘贴板,也就是说,如果你在其他程序中复制内容,那么使用shift+insert组合键就可以粘贴进来. 需要说明的是,vim中的粘贴板有很多,你可以输入 :reg来进行查看.而我 ...

  5. dom操作------创建节点/插入节点

    <section> <div id="box" style="position: relative;"> <p id=" ...

  6. .37-浅析webpack源码之事件流make(4)

    赶紧完结这个系列咯,webpack4都已经出正式版了. 之前的代码搜索到js文件的对应loader,并添加到了对象中返回,流程如下: this.plugin("factory", ...

  7. .netcore使用vscode多项目调试

    开发环境:windows    编辑器: Visual Studio Code 环境安装: .Net Core 1.1 SDK     https://www.microsoft.com/net/co ...

  8. IIS日志自动清理

    IIS在运行的过程中日志会不停地增长,若iis的网站被频繁的调用或不当的调用,则会产生很多日志.我在系统运维的时候曾出现过20G的系统盘,由于合作商开发的程序有问题,每几百微秒调用一次web服务,短期 ...

  9. [PHP] B2B2C商品模块数据库设计

    /**************2016年4月25日 更新********************************************/ 知乎:产品 SKU 是什么意思?与之相关的还有哪些? ...

  10. MYSQL查询优化(Ⅱ)

    本文列举出五个MySQL查询优化的方法,当然,优化的方法还有很多. 1.优化数据类型 MySQL中数据类型有多种,如果你是一名DBA,正在按照优化的原则对数据类型进行严格的检查,但开发人员可能会选择他 ...