6

処理用の一時ファイルを配置できる一時フォルダーを作成する必要があります。アプリケーション jar が実行されるフォルダーに読み取り/書き込みアクセス権があるかどうかはわかりません。

  1. システムの一時ディレクトリに一時フォルダを作成するのが最善ですか?
  2. File tempFolder = File.createTempFile("fooo","");[フォルダはどこに作成されますか?]を使用する場合 Mac の一時フォルダーに cd すると、foo という名前のフォルダーが表示されません。
4

4 に答える 4

6

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
于 2012-10-25T12:45:57.893 に答える
3

呼び出すFile tempFolder = File.createTempFile("fooo","")と、File オブジェクトが返されます。その後、呼び出すことができます

tempFolder.getAbsolutePath();

ここにリンクされています

これで場所がわかります。推測では、Finderからアクセスできる/ tmp /にあったと思います

  • フォルダへ移動を選択
  • [移動] メニューから /tmp/ と入力します

これにより、非表示のフォルダーにも移動します。

Windows では、Windows エクスプローラーのアドレス バーに %temp% と入力して一時ディレクトリに移動できることを知っています。OSXにこのようなものがあるかどうかはわかりません

于 2012-10-25T12:42:27.413 に答える
3

を使用する必要がありますFile.createTempFile()

作成される場所は、環境によって異なります。興味がある場合は、そのようなファイルのフル パスを出力してみてください。

私の Mac (10.8.2) では、システム Java が「/var/folders/qj/v2cqt0t91h1b4rzj1s0pc_780000gp/T/」にファイルを作成しました。

于 2012-10-25T12:41:00.327 に答える
1

tempFolder.getAbsolutePath() を出力してみてください。このフォルダーが作成されるパスが表示されます。

于 2012-10-25T12:44:45.827 に答える