2012-10-25 25 views
6

処理のために一時ファイルを置くことができる一時フォルダを作成する必要があります。私は、アプリケーションジャーが実行されるフォルダ内でRead/Writeアクセス権を持っているかどうかはわかりません。Javaで一時フォルダを作成する

  1. システムの一時ディレクトリにtempフォルダを作成するのが最善でしょうか?
  2. 私が使用するときFile tempFolder = File.createTempFile("fooo","");フォルダはどこに作成されますか?私が私のMacのtempフォルダにcdすると、私は名前foooでフォルダを見ることができません。

答えて

3

、これを参照してください。

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/からこの意志を

  • をフォルダへ移動を選択したファインダー

    • からに得ることができますを/ tmp /だったと言うでしょう隠されているフォルダに移動します。

      Windowsでは、tempディレクトリに移動するために、Windowsエクスプローラのアドレスバーに%temp%を入力することができます。 OSXでこのようなことがあるかどうかわからない

  • 1

    tempFolder.getAbsolutePath()を印刷してみてください。それはあなたにこのフォルダが作成されるパスを与える必要があります。あなたは、ほとんどTempFolderのを作成して行われ

    関連する問題