[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] Re: Properties.load/saveの対象フォルダはどこが妥当か
小薮です。
On Mon, 18 May 1998 19:35:37 +0900
ENDO Yasuyuki <yasuyuki@xxxxxxxxxx> wrote:
> Javaに限りませんが、UNIX だと、ホームディレクトリーに . から始まる
> 設定ファイルを作ることが多いのではないでしょうか。
御意。
> Windows だと、アプリケーションをインストールしたディレクトリーか、
> Windows の system ディレクトリー (Windows NT なら C:\WINNT\System32 など)に
> .ini ファイルを作るのが一般的ですが、Java の場合はどうなのでしょうね。
最近はレジストリを使う事が多い気がします。
> Windows NT の場合はユーザー別のホームディレクトリーがありますが、
> Windows95 の場合はホームディレクトリーが無いことの方が多いでしょうね。
私はWindowsAPIは素人ですが,「NTの場合はユーザ毎のディレクトリを返し」,
「95ではWindowsディレクトリを返す」ようなAPIがあったりしませんか?
多分user.homeはそれを利用して設定されていると思うのですが・・
# 確認してません
> Hiroshi> System.getProperty("user.home") + File.separator +
> Hiroshi> "myApp.properties"
> Hiroshi> ぐらいしか思い付かなかったのですが、
> Hiroshi> もっと良い案があればお聞かせください。
大体いいんじゃないでしょうか。
私が思い付く一番丁寧な方法は以下の通り。
・javaコマンドのオプションのプロパティ設定機能で,設定ファイルの
パス名とファイル名を(別々に)指定できるようにしておく
・指定がなかったり,指定されたディレクトリにアクセスできなかったりした
ときのデフォルトとして,user.homeやmyApp.propertiesを使用する
・プロパティの明示的な指定には,バッチ,ショートカット,
シェルスクリプトなどを用意する
バッチその他はプラットフォーム毎に用意することになりますが,
仕方がないでしょう。
「適切なファイル名」は,そもそもプラットフォーム依存なので,
Pure Javaの範囲では解決しない問題だと思います。
多分ファイル名をハードコードすると,それ自体Pure Javaチェックに
引っかかるんじゃないかな。
# cf. http://www.sun.co.jp/tech/whitepapers/JCB100.pdf p.42
> 私は "user.home" に . で始まる名前のファイルを作ってしまおうかと思います。
> Windowsな方には泣いてもらう^^;ということで...
で始まるファイル名/ディレクトリ名をWindows95/NTで使う事については
致命的な問題はないと思います。私もやったことがありますし,
Castanetなんかも設定ファイルを.で始まるディレクトリに放り込んでますね。
ただし,(1)エクスプローラを使っての.で始まる名前にリネームは不可,
(2)隠しファイルとしての効果はない,(3)DOS/Windows3.1だと利用不可,
など,致命的ではないにしろ問題があるのは確か。
-----------------------------------
koyabu@xxxxxxxxxx