プログラムが実行されるOSに対応したtemp directoryパスを取得する方法を紹介します。
Temporary directoryは、OSによって異なります。
- Windows :
%USER%\AppData\Local\Temp
- Linux :
/tmp
1. System.getProperty("java.io.tmpdir")
System.getProperty("java.io.tmpdir")
はtmp dirパスを返します。
public class GetTempDir {
public static void main(String[] args) {
String tempDir = System.getProperty("java.io.tmpdir");
System.out.println(tempDir);
}
}
Output:
/tmp
2. File.createTempFile()
File.createTempFile(prefix, suffix)
はtmpパスの空のファイルを作成します。
ファイル名はランダムに決定されるが、引数として渡されたprefixとsuffixは固定されており、うち数万ランダムに決まります。
import java.io.File;
import java.io.IOException;
public class GetTempDir2 {
public static void main(String[] args) throws IOException {
File tempFile = File.createTempFile("test_", ".tmp");
String tempFilePath = tempFile.getAbsolutePath();
System.out.println(tempFilePath);
}
}
Output:
/tmp/test_3225281795536908985.tmp
プログラムが終了されるように、一時ファイルは削除されずに残ります。
プログラムの終了時に、ファイルを削除する
File.deleteOnExit()
を呼び出すと、プログラムの終了時にファイルも一緒に削除されます。
File tempFile = File.createTempFile("test_", ".tmp");
tempFile.deleteOnExit();
Related Posts
- Java - AtomicReference使用方法
- Java - CountDownLatchを使用する方法、および例
- Java - ScheduledThreadPoolExecutor使用方法
- Java - SummaryStatisticsの使用方法(count、min、max、average)
- Java8 - 関数型インタフェース (Functional Interface) について
- Java - String配列をint配列に変換する
- Java - ArrayList要素の値を変更する方法、replaceAll()
- Java - 2つのリストが同じかどうかを比較
- Java - 配列から特定のIndex要素を削除する3つの方法
- Java - HashMapソート、4つの方法
- Java - 文字列を配列に変換する方法
- Java - ArrayListが空であることを確認する3つの方法
- Java - ArrayListの巡回、4つの方法
- Java - ArrayListの最大値、最小 値を見つける
- Java - ArrayListの合計、平均値の計算
- Java - HashMap巡回、3つの方法
- Java - do whileとwhileの違い
- Java - Lambda式と関数型インタフェース
- Java - List empty(null)チェック、3つの方法
- Java - ArrayListの初期化、4つの方法
- Java - Stream.reduce()の使い方と例
- Java - 2つのマップを結合する(merge、putAll)
- Java - java.util.Dateをjava.sql.Dateに変換する
- Java - ArrayListをStringに変換する
- Java - ClassNotFoundExceptionの発生原因と解決策
- Java - 非静的メソッドは静的コンテキストから参照できません
- Java - NoSuchMethodErrorの原因と解決策
- Java - JSONライブラリを使用する方法(JSONObject、JSONArray)
- Java - byte[]配列をFileに保存
- Java - byte[]の配列をStringに変換
- Java - ファイルのアクセス権を確認し、変更
- Java - 一時フォルダ(Temp directory)パスを取得する
- Javaでシェルスクリプトを実行
- Java - Streamを配列に変換する
- Java - リスト重複排除、2つの方法