在java中创建临时文件夹

时间:2012-10-25 12:38:51

标签: java macos

我需要创建一个临时文件夹,我可以在其中放置一些临时文件进行处理。我不确定我是否会在我的应用程序jar执行的文件夹中具有读/写访问权限。

  1. 最好在系统的临时目录中创建临时文件夹吗?
  2. 当我使用File tempFolder = File.createTempFile("fooo","");创建文件夹的位置时?当我进入我的mac中的临时文件夹时,我无法通过名称fooo看到文件夹。

4 个答案:

答案 0 :(得分:4)

你几乎完成了创建临时文件夹,请看:

import java.io.File;
import java.io.IOException;

public class TempFolder {
    public static void main(String[] args) throws IOException {
        File file = File.createTempFile("my_prefix", "");
        System.out.println(file.getAbsolutePath() + " isFile: " + file.isFile() + " isDir:" + file.isDirectory());
        file.delete();
        file.mkdir();
        System.out.println(file.getAbsolutePath() + " isFile: " + file.isFile() + " isDir:" + file.isDirectory());
    }
}

首先,createTempFile将为您创建一个真实的文件,只需删除它并使用相同的名称创建一个目录。

我也使用osx。我的结果是:

/var/folders/aQ/aQLNlFLOF28xewK2A7i0X++++TM/-Tmp-/my_prefix8720723534029791962 isFile: true isDir:false
/var/folders/aQ/aQLNlFLOF28xewK2A7i0X++++TM/-Tmp-/my_prefix8720723534029791962 isFile: false isDir:true

答案 1 :(得分:3)

您应该使用File.createTempFile()

创建它的位置取决于您的环境。如果您有兴趣,请尝试打印出这样一个文件的完整路径。

在我的Mac(10.8.2)上,系统Java刚才在“/ var / folders / qj / v2cqt0t91h1b4rzj1s0pc_780000gp / T /”中创建了一个文件。

答案 2 :(得分:3)

当您致电File tempFolder = File.createTempFile("fooo","")时,它将返回一个File对象。然后你可以打电话

tempFolder.getAbsolutePath();

已关联here

这将为您提供位置。猜测我会说它在/ tmp /你可以从Finder进入

  • 选择转到文件夹
  • 从Go菜单中输入/ tmp /

这将带您进入隐藏的文件夹。

我知道在Windows中你可以在Windows资源管理器地址栏中输入%temp%来转到临时目录。我不确定OSX上是否有这样的东西

答案 3 :(得分:1)

尝试打印出tempFolder.getAbsolutePath()。它应该为您提供创建此文件夹的路径。