知りたいのですが... このコードは Windows だけでなく Linux や Mac でも動作しますか?
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
私が尋ねる理由は、Windows が Mac や Linux とは異なる方法で appdata を管理することを知っているからです。
知りたいのですが... このコードは Windows だけでなく Linux や Mac でも動作しますか?
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
私が尋ねる理由は、Windows が Mac や Linux とは異なる方法で appdata を管理することを知っているからです。
Java では、Windows と UNIX オペレーティング システムでアプリケーション データ ディレクトリの取得方法に違いがあります。C# については、コード例の言語 (質問に「java」というタグが付いているにもかかわらず) は、はっきりとは言えません。
これまで、私は常に Windows では AppData フォルダーを使用し、UNIX システムでは単純に UNIX ホームを使用していました。
public static String getAppDataPath() {
if (System.getProperty("os.name").contains("Windows")) {
return System.getenv("APPDATA");
} else {
return getUnixHome();
}
}
public static String getUnixHome() {
String home = System.getProperty("user.home");
return home != null ? home : "~";
}
.
また、UNIX システムでは、ユーザー ホームの appdata を非表示にすることが望ましいため、Mac および Linux でファイルを開始する必要があることに注意してください。
「appdata」の概念は、Windows 固有の概念です。Linux および OSX システムには、データを格納するための規則がいくつかありますが、それらを「appdata」と呼ぶ人はいません。Linux や OSX では、「.」で始まる名前のファイルを書き込むことは珍しくありません。ホームディレクトリに。OSX には、精巧な Apple 固有のシステム設定もあります。
Java Preferences API の使用を検討するだけで、「appdata」をまったく処理しない場合があります。ただし、JVM の Windows 実装がそれをどう処理するかを決定する場合を除きます。