2012-10-25 169 views
6

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

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

回答

3

你几乎创造tempfolder做,看到这一点:

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 
3

您应该使用File.createTempFile()

它的创建地点取决于您的环境。如果您有兴趣,请尝试打印出此文件的完整路径。

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

3

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

tempFolder.getAbsolutePath(); 

here

,这会给你的位置。在猜测我会说这是在/ tmp /你可以得到在从Finder

  • 选择前往文件夹从转到菜单式
  • 的/ tmp/

这将带你到隐藏的文件夹。

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

1

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

相关问题