Java - 创建临时文件
创建临时文件
- IO 方法
- NIO 方法
IO 方法
java.io.File.createTempFile(String prefix, String suffix, File directory)
在指定目录创建临时文件,调用 deleteOnExit()
可以删除由该方法创建的文件。
public static File createTempFile(String prefix, String suffix, File directory)
参数说明:
prefix
定义文件名,要求至少3个字符,如果太长会自动截断;suffix
定义文件后缀,如果为null
,则以.tmp
替代;directory
是临时文件所在目录,如果指定的目录不存在,抛出IOException
。
文件名由 prefix
+ “内部随机生成字符(至少5个)”+suffix
组成。
如果 directory
为 null,则使用默认目录,其位置由 java.io.tmpdir
系统属性确定。例如在 Windows 10 系统上:
System.out.println(System.getProperty("java.io.tmpdir"));
// C:\Users\<username>\AppData\Local\Temp\
这个方法一般和
deleteOnExit
配套使用,在使用完临时文件后删除之。
使用示例:
File f = File.createTempFile("tmp", ".txt", new File("D:\\data"));
System.out.println("File path: " + f.getAbsolutePath());
// File path: D:\data\tmp9662249449050851548.txt// deletes file when the virtual machine terminate
f.deleteOnExit();// creates temporary file, if suffix is null, "tmp" is used.
f = File.createTempFile("tmp", null, new File("D:/"));
System.out.println("File path: " + f.getAbsolutePath());
// File path: D:\tmp16530246932214752759.tmp// deletes file when the virtual machine terminate
f.deleteOnExit();// if the directory is null, default temp folder is used (AppData\Local\Temp for Windows)
f = File.createTempFile("tmp", null, null);
System.out.println(f.getAbsolutePath());
// C:\Users\happy\AppData\Local\Temp\tmp1426089657789007888.tmp
f.deleteOnExit();
NIO 方法
java.nio.file.Files
类同样提供了创建临时文件的方法:
public static Path createTempFile(Path dir, String prefix, String suffix, FileAttribute<?>... attrs)
方法签名和 File.createTempFile()
类似,使用 prefix
和 suffix
生成临时文件名的规则基本也一致。
在使用创建的临时文件时,使用 StandardOpenOption.DELETE_ON_CLOSE
选项打开,在使用后调用合适的 close 方法可以保证该文本被删除。
例1:创建指定后缀的临时文件
Path tempFile = Files.createTempFile("happy", ".lucky");
System.out.println(tempFile);
// C:\Users\happy\AppData\Local\Temp\happy5418717743945248114.lucky
在默认临时文件夹创建临时文件。
例2:不指定前缀
Path tempFile2 = Files.createTempFile(null, ".lucky");
System.out.println(tempFile2);
// C:\Users\happy\AppData\Local\Temp\5335753237959736973.lucky
不指定前缀,对应的临时文件名全部为随机生成字符。
例3:不指定后缀
Path tempFile3 = Files.createTempFile("happy", null);
System.out.println(tempFile3);
// C:\Users\happy\AppData\Local\Temp\happy851462428616511214.tmp
不指定后缀,使用默认后缀 .tmp
。
例4:指定空后缀
Path tempFile4 = Files.createTempFile("happy", "");
System.out.println(tempFile4);
// C:\Users\happy\AppData\Local\Temp\happy1219941913418435852
指定空后缀,则没有后缀。
Java - 创建临时文件相关推荐
- java创建临时文件_用Java创建一个临时文件
java创建临时文件 The task is to create a temporary file in Java. 任务是用Java创建一个临时文件. Creating a temporary fi ...
- java创建临时文件夹_java创建临时文件
[java]代码库/** * 创建临时文件 * * @param prefix * 临时文件名的前缀 * @param suffix * 临时文件名的后缀 * @param dirName * 临时文 ...
- java创建临时文件的路径问题
创建临时文件使用 createTempFile()方法,有以下问题需要注意: 源码 public static File createTempFile(String fileName, String ...
- java创建临时文件夹_如何在Java中创建一个临时目录/文件夹?
有没有在Java应用程序内部创建临时目录的标准可靠方法? Java的问题数据库中有一个条目,注释中包含一些代码,但是我想知道在一个常用的库(Apache Commons等)中是否找到标准解决方案? # ...
- Java 文件操作一(写文件、按行读文件、删除文件、复制文件、追加数据、创建临时文件、修改最后修改日期、获取文件大小)
文件写入 import java.io.*;public class Main {public static void main(String[] args) {try {BufferedWriter ...
- 如何在Java中创建临时文件?
在Java程序中,有时需要创建临时文件来暂存数据或者执行某些操作.Java提供了许多方式来创建临时文件.在本教程中,我们将介绍如何使用Java标准库来创建临时文件. 一.使用File.createTe ...
- java 创建临时临时文件
import java.io.File; import java.io.IOException;/*** 创建新文件和目录*/ public class CreateFileUtil {/*** 创建 ...
- Java从string数组创建临时文件
//从string数组创建临时文件 private static File createSampleFile(String[] strs) throws IOException {File file ...
- 妙用 Intellij IDEA 创建临时文件,Git 跟踪不到的那种
多数人对于 Intellij IDEA 可能始于其「颜值」,终于其「才华」,外加各种插件 buff 的加成,coding 的节奏分分钟要暴走 抛开自己安装的插件,IDEA 其实也内秀的很,在 Inte ...
最新文章
- python中编写无参数decorator
- 【JSP EL表达式】动态表达式/表达式拼接
- 【转】__declspec用法详解
- json 潜逃 结构体_JSON还原为结构体 - osc_t5zhwnvx的个人空间 - OSCHINA - 中文开源技术交流社区...
- 千月双端影视APP源码
- linux视频嗅探工具,Linux 5.13增加来自英特尔的KCPUID组件 帮助准确识别新推出的CPU...
- 武汉理工大学计算机学院宿舍,武汉理工大学专业所属校区及新生住宿分布情况(v2.0)...
- 2019年物联网9个趋势和预测
- 【夜深人静写代码】倍增算法学习记录
- win10linux双系统时间,win10与linux双系统切换时间不一致的调整
- win10升级后VMware不能使用,更新升级失败
- SQL Server select 英文区分大小写
- iconfont 字体图标
- 过年别再逼婚了,《黑镜》里的AI相亲系统是对爱情最好的匹配
- 以太网接口与地平面设计3种方案
- 安卓市场ASO排名优化机制分析,安卓市场的aso优化
- MySQL查询优化实例
- iOS-OC-自定义融云IM聊天界面,键盘收回去输入工具栏下去
- 基于卡方的独立性检验
- 单总线是什么以及特点、协议 、使用方法