[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] JDK のバージョン毎に異なる System.getProperty("user.home")




自己フォローです

> > 私はWindowsAPIは素人ですが,「NTの場合はユーザ毎のディレクトリを返し」,
> > 「95ではWindowsディレクトリを返す」ようなAPIがあったりしませんか?
> > 多分user.homeはそれを利用して設定されていると思うのですが・・
> > # 確認してません
> java.lang.System.getProperties()が返すシステムプロパティには
>        user.home = User's home directory
>        user.dir  = User's current working directory
> のエントリがありますが、Windows95の環境では
>        user.home=C:\WINDOWS
>        user.dir=C:\project1   <= Javaを呼び出したときのカレント

Windows95上では user.home の値が、JDKバージョン毎に異なった値で
どうも信用ならんことがわかりました。

JDK1.2beta3 => "C:\WINDOWS"

JDK1.2beta2 => "D:\JDK1.2beta2\BIN\.."

JDK1.1.5    => "C:\HOME"(環境変数HOMEの値) または、
               "C:\JDK1.1.5\BIN\.."(環境変数HOMEが無いとき)

他のJDKや他のOSではどうなんでしょう。。

// pro.java - "user.home" check program
import java.util.*;
import java.io.*;
public class pro {
	static void print(String key) {
		System.out.println(key + "=" + System.getProperty(key));
	}
	public static void main(String[] args) throws Exception {
//		Properties p = System.getProperties();
//		p.list(System.out);
		print("java.version");
		print("user.home");
	}
}

-- 
/** 久野 浩 - Hiroshi Kuno
 * @xxxxxxxxxx       mailto:hkuno@xxxxxxxxxx
 * @xxxxxxxxxx ISO C9X, ISO C++, Java and astoronomy
 */