[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
*/