JavaからWindowsの作業用ディレクトリを取得する方法
以前エントリー「 Windowsにおいて、Javaプログラムからユーザのホームディレクトリを取得する方法 」で、 Windowsのホームディレクトリを取得しましたが、今回作業用のディレクトリが必要になりました。
単にテンポラリファイルをつくる場合は、java.io.Fileの createTempFile() メソッドを呼べばよい。 しかし、Java実行時のディレクトリがもし書き込み権限がなかった場合などを考えると、 確実に作業用ファイルを作成できるディレクトリがほしい。
java.io.tmpdir を使う
結論としては、System.getProperty("java.io.tmpdir"); を使えばよいようです。
以下のコードを実行すれば、System.getProperty("hogehoge"); の hogehoge 部分にどんな値を指定できるか わかりますが、これを使って調べたところ、WindowsXPでは、 java.io.tmpdir が使えるようです。
import java.util.*;
public class Test{
public static void main(String[] s){
Properties hash=System.getProperties();
Enumeration enu=hash.keys();
while(enu.hasMoreElements()){
Object key=enu.nextElement();
System.out.println(key+"\t\t"+System.getProperty((String)key));
}
}
}