java获取系统临时文件目录以及使用File.createTempFile创建临时文件

硅谷探秘者 Md java基础 6240 0 0

一、获取系统临时文件目录

通过java的系统属性获取

String tmpdir = System.getProperty("java.io.tmpdir");

输出:

C:\Users\Admin\AppData\Local\Temp\

二、java的系统属性有哪些

属性 属性内容
java.version Java 运行时环境版本
java.vendor Java 运行时环境供应商
java.vendor.url Java 供应商的 URL
java.home Java 安装目录
java.vm.specification.version Java 虚拟机规范版本
java.vm.specification.vendor Java 虚拟机规范供应商
java.vm.specification.name Java 虚拟机规范名称
java.vm.version Java 虚拟机实现版本
java.vm.vendor Java 虚拟机实现供应商
java.vm.name Java 虚拟机实现名称
java.specification.version Java 运行时环境规范版本
java.specification.vendor Java 运行时环境规范供应商
java.specification.name Java 运行时环境规范名称
java.class.version Java 类格式版本号
java.class.path Java 类路径
java.library.path 加载库时搜索的路径列表
java.io.tmpdir 默认的临时文件路径
java.compiler 要使用的 JIT 编译器的名称
java.ext.dirs 一个或多个扩展目录的路径
os.name 操作系统的名称
os.arch 操作系统的架构
os.version 操作系统的版本
file.separator 文件分隔符(在 UNIX 系统中是“/”)
path.separator 路径分隔符(在 UNIX 系统中是“:”)
line.separator 行分隔符(在 UNIX 系统中是“/n”)
user.name 用户的账户名称
user.home 用户的主目录

File.createTempFile创建临时文件

File.createTempFile有两个重载的方法

  • 1.public static File createTempFile(String prefix, String suffix,File directory)

  • 2.public static File createTempFile(String prefix, String suffix)

第一个方法指定了缓存临时文件的目录,他会在指定的目录生成临时文件
第二个方法没有指定临时文件,它内部通过系统属性java.io.tmpdir来获取系统的临时文件夹。

测试代码如下:

public static void main(String[] args) throws IOException {
    // 创建临时文件
    File file = File.createTempFile("test", ".txt");
    System.out.println(file.getPath());
    System.out.println(file.getName());
    FileOutputStream outputStream = new FileOutputStream(file);
    String text = "你好";
    outputStream.write(text.getBytes());
    outputStream.flush();
    outputStream.close();
    // 手动删除
    file.delete();
    // 系统退出后自动删除
    file.deleteOnExit();
}

输出

C:\Users\Admin\AppData\Local\Temp\test4191473085244289118.txt
test4191473085244289118.txt

  可以看到这两个方法会在中间自动加一个字符串,以免文件名称冲突。用完这个临时文件可以调用delete方法手动删除,也可以调用deleteOnExit方法,在系统退出后删除。


评论区
请写下您的评论...
暂无评论...
猜你喜欢
其他 2764 直接在资源管理器中候会提示:‘必须键入名’解决办法:在cmd命令行中,cd某夹,执行md.abc即可一个名为.abc的
linux系统 4188 linux类指令笔记pwd:查看当前工作mkdira:a,mkdir-pa/b:多级/a/brmdir:删除空rm-rf:删除touch名:cp:拷
minio 2269 buckets serviceaccounts java上传 maven依赖: dependency groupIdio.minio/groupId
算法基础 1580 前端项正式发布一般需要混淆压缩js、css等,一方面压缩能够使体积更小,更多的节约网络io资源,另一方面能避免被人读懂你的代码!!!!!!工具可使uglifyjs2。安装通过npm安
linux终端 1089 [使说明]1.先不要运行SecureCRT2.议把注册机放到安装3.运行注册机4.点击Patch,此会让你选择SecureCRT.exe和LicenseHelper.exe的位置5.应
工具 3024 引入pomdependencygroupIdorg.dom4j/groupIdartifactIddom4j/artifactIdversion2.0.0/version/dependency需
linux系统 5448 linux的内核/boot/gurb。议单独分区,分区大小100M即可/dev:存放linux下的设备,访问该下某个,相当于访问某个设备,常的是挂载光驱mount/dev/cd
weblog 2445 java使easypoi导出并下载excel简单导出测试如图:一、pomdependencygroupIdcn.afterturn/groupIdartifactIdeasypoi
归档
2018-11  12 2018-12  33 2019-01  28 2019-02  28 2019-03  32 2019-04  27 2019-05  33 2019-06  6 2019-07  12 2019-08  12 2019-09  21 2019-10  8 2019-11  15 2019-12  25 2020-01  9 2020-02  5 2020-03  16 2020-04  4 2020-06  1 2020-07  7 2020-08  13 2020-09  9 2020-10  5 2020-12  3 2021-01  1 2021-02  5 2021-03  7 2021-04  4 2021-05  4 2021-06  1 2021-07  7 2021-08  2 2021-09  8 2021-10  9 2021-11  16 2021-12  14 2022-01  7 2022-05  1 2022-08  3 2022-09  2 2022-10  2 2022-12  5 2023-01  3 2023-02  1 2023-03  4 2023-04  2 2023-06  3 2023-07  4 2023-08  1 2023-10  1 2024-02  1 2024-03  1 2024-04  1
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo vue 导入导出 软件使用 idea插件 协议 无聊的知识 jenkins springboot mqtt协议 keepalived minio mysql ensp 网络基础 xxl-job rabbitmq haproxy srs 音视频 webrtc javascript
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。