File类createNewFile与createTempFile的区别[通俗易懂]

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

大家好,又见面了,我是你们的朋友全栈君。

自:http://www.cnblogs.com/huangyibo/p/3667714.html

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128171.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spdlog开源库使用

    spdlog开源库使用spdlogspdlog是一个非常简单快速的日志库。到现在为止仅仅简单尝试了一下,使用体验比较满意。这里推荐一下。下面是开源库的源地址:源地址安装$gitclonehttps://github.com/gabime/spdlog.git$cdspdlog&&mkdirbuild&&cdbuild$cmake..&&make-j安装也非常简单,只有三条命令。支持的系统Linux,FreeBSD,OpenBS

    2022年6月23日
    32
  • keypad.h arduino按键操作显示

    keypad.h arduino按键操作显示#include<Keypad.h>constbyteROWS=4;//矩阵键盘行数constbyteCOLS=4;//矩阵键盘列数//按键定义charhexaKeys[ROWS][COLS]={{‘0′,’1′,’2′,’3’},{‘4′,’5′,’6′,’7’},{‘8′,’9′,’A’,’B’},{‘…

    2022年5月2日
    133
  • jmeter基础教程_生活质量和生活品质有什么区别

    jmeter基础教程_生活质量和生活品质有什么区别前言:JMeter一个非常强大的测试工具,给大家简单的介绍一下基本使用方法入门篇,如若不懂,请重新学习小学语文,再来阅读,谢谢!!!1、第一步就安装JMeter,使用JMeter的前提是先把jdk等配置完成,才可以打开JMeter,不然会出现点开没反应的情况我这里展示的是一个改成中文的JMeter,英语好的小伙伴也可以不用改哈默认中文:在jmeter/bin/jmeter.properties在#language=en写入language=zh_CN默认查看结果处理展示编码为u.

    2025年8月24日
    3
  • linux端口转发技术(单端口分发)

    端口转发映射的程序叫rinetd,下载地址,直接manke编译安装即可。12345678910111213141516[root@PortForward02 src]# wget http://www.boutell.com/r

    2022年4月18日
    34
  • React 回忆录(四)React 中的状态管理

    React 回忆录(四)React 中的状态管理

    2022年4月3日
    63
  • docker下载安装教程_mac装sql server

    docker下载安装教程_mac装sql server前言Docker提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个D

    2022年7月31日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号