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

硅谷探秘者 java基础 108 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方法,在系统退出后删除。

猜你喜欢
其他 2025 直接在资源管理器中候会提示:‘必须键入名’解决办法:在cmd命令行中,cd某夹,执行md.abc即可一个名为.abc的
linux系统 3389 linux类指令笔记pwd:查看当前工作mkdira:a,mkdir-pa/b:多级/a/brmdir:删除空rm-rf:删除touch名:cp:拷
算法基础 201 前端项正式发布一般需要混淆压缩js、css等,一方面压缩能够使体积更小,更多的节约网络io资源,另一方面能避免被人读懂你的代码!!!!!!工具可使uglifyjs2。安装通过npm安
linux终端 334 [使说明]1.先不要运行SecureCRT2.议把注册机放到安装3.运行注册机4.点击Patch,此会让你选择SecureCRT.exe和LicenseHelper.exe的位置5.应
工具 2247 引入pomdependencygroupIdorg.dom4j/groupIdartifactIddom4j/artifactIdversion2.0.0/version/dependency需
linux系统 4741 linux的内核/boot/gurb。议单独分区,分区大小100M即可/dev:存放linux下的设备,访问该下某个,相当于访问某个设备,常的是挂载光驱mount/dev/cd
weblog 1204 java使easypoi导出并下载excel简单导出测试如图:一、pomdependencygroupIdcn.afterturn/groupIdartifactIdeasypoi
java基础 101 核心类ZipOutputStream的api档请参考:https://nowjava.com/docs/java-api-11/java.base/java/util/zip
归档
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月  6
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo vue 导入导出 软件使用 idea插件 协议 无聊的知识 jenkins springboot mqtt协议
目录
祝愿神州十三飞行乘组平安归来