专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java创建临时目录(java 临时目录)

temp10 2024-10-18 13:52:13 java教程 7 ℃ 0 评论

临时目录的用途主要是为了临时存放,短暂的使用过后,文件即可丢弃。往往会代理操作系统的临时目录功能。

代理操作系统

使用系统变量java.io.tmpdir

Java创建临时目录(java 临时目录)

String tmpdir = Files.createTempDirectory("tmpDirPrefix").toFile().getAbsolutePath();
String tmpDirsLocation = System.getProperty("java.io.tmpdir");
assertThat(tmpdir).startsWith(tmpDirsLocation);

使用Google Guava,

String tmpdir = Files.createTempDir().getAbsolutePath();
String tmpDirsLocation = System.getProperty("java.io.tmpdir");
assertThat(tmpdir).startsWith(tmpDirsLocation);

使用Apache Commons IO,

String tmpDirsLocation = System.getProperty("java.io.tmpdir");
Path path = Paths.get(FileUtils.getTempDirectory().getAbsolutePath(), UUID.randomUUID().toString());
String tmpdir = Files.createDirectories(path).toFile().getAbsolutePath();
assertThat(tmpdir).startsWith(tmpDirsLocation);

为了避免出现系统已经存在的目录,所以这里使用了UUID.randomUUID() 生成一个随机名字作为目录名。

指定临时目录的位置

Path tmpdir = Files.createTempDirectory(Paths.get("target"), "tmpDirPrefix");
assertThat(tmpdir.toFile().getPath()).startsWith("target");

Google Guava 和 Apache Commons IO都不支持指定目录。

可以指定当JVM退出的时候,自动删除临时目录:

tmpdir.toFile().deleteOnExit();

指定文件属性

FileAttribute<Set> attrs = PosixFilePermissions.asFileAttribute(
  PosixFilePermissions.fromString("r--------"));
Path tmpdir = Files.createTempDirectory(Paths.get("target"), "tmpDirPrefix", attrs);
assertThat(tmpdir.toFile().getPath()).startsWith("target");
assertThat(tmpdir.toFile().canWrite()).isFalse();

Google Guava 和 Apache Commons IO都不支持指定文件属性。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表