2

Java でゲーム プロジェクトに取り組んでおり、config.iniファイルを実行可能場所以外の場所に保存する必要がありますjar。通常、Windows の内部に保存する人が多いことは知っていAppDataますが、OS の制限がまったくない完全に移植可能なゲームにしたいと考えています。しかし、そのためには、そのようなファイルを保存する場所を知る必要があります。

他の UNIX オペレーティング システム、主に Ubuntu や Macintosh (OS X) のどこにそのようなファイルを保存しているのか知りたいです。

また、私はこれらのシステムを所有していないため、そのような OS に関するディレクトリについてもう少し説明していただければ幸いです。つまり、たとえば、Windows では通常、アプリケーションをデスクトップにドロップしますが、Mac ユーザーはそれらをアプリケーション フォルダ内に配置します。Mac の場合、アプリケーション ディレクトリ内にフォルダを作成することは、Windows デスクトップ上にフォルダを作成するのと同じくらい悪いことでしょうか?

また、Ubuntu の場合、Windows の AppData に相当するものはどこにありますか? では、Mac の場合はどうでしょうか。ゲームのスクリーンショットを保存したり、内部または同等のセーブゲームを作成しAppDataたりすることは悪い考えですか? Program Files通常のディレクトリを使用したくありません。

最後に、よりコードに関する問題です。Java では、Windows の AppData の場所を取得し、以下のコードのようにそのようなパスを連結できることを知っています。

Path FOO = Paths.get(System.getenv("AppData"), "BAR");

Mac と Ubuntu はどうですか?また、ユーザーが Windows と Ubuntu のどちらを使用しているかを確認するにはどうすればよいですか?


どうもありがとうございました、
-レナート
4

1 に答える 1

2

Ubuntu やその他の Linux ディストリビューションを含むほとんどの Unix ライクなオペレーティング システムでは、XDG Base Directory 仕様に従う必要があります。この仕様では、ユーザー設定を保存する場所 (つまり、環境変数$XDG_CONFIG_HOMEが存在する場合はその値が にフォールバックする~/.config/) が記述されています。このディレクトリは構成用です。セーブゲームも同様に、$XDG_DATA_HOMEまたは指定されていない場合は入る必要があります。~/.local/share

OS X も Unix に似ていますが、独自のパスを使用します。これは、Mac OS X の XDG_CONFIG_HOME と XDG_DATA_HOME の同等物で説明されていますか? .

于 2012-07-03T02:07:26.300 に答える