我只想知道......這段代碼是否可以在linux和mac以及windows上工作?這個appdata的方法是否也適用於linux?
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
我問的原因是因爲我知道windows管理appdata與Mac和linux不同。
我只想知道......這段代碼是否可以在linux和mac以及windows上工作?這個appdata的方法是否也適用於linux?
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
我問的原因是因爲我知道windows管理appdata與Mac和linux不同。
在Java中,在Windows和Unix操作系統之間如何獲取應用程序數據目錄存在差異。至於C#,您的示例代碼所在的語言(儘管問題被標記爲「java」),但我不能肯定地說。
在過去,我一直使用Windows上的AppData文件夾,並簡單地使用unix系統的unix home。
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系統上,最好是使應用程序數據在用戶的家隱藏的,所以你應該.
開始在Mac和Linux文件。
謝謝你的答案,我認爲代碼是java。 – Mad3ngineer
不用擔心,我們都會犯錯誤。如果您將答案選爲最終答案,請不要忘記將答案標記爲已接受。 – Vulcan
完成!謝謝你教我做到這一點。 – Mad3ngineer
'appdata'的概念是Windows特有的概念。雖然Linux和OSX系統有一些存儲數據的約定,但沒有人稱它們爲'appdata'。在Linux或OSX上,編寫名稱以'。'開頭的文件並不罕見。進入主目錄。在OSX上,還有一個詳細的Apple特定的系統偏好設置。
您可能僅僅考慮使用Java Preferences API並且根本不處理'appdata',除了JVM的Windows實現決定如何處理它。
該代碼似乎未使用集成Java API中的任何內容;這是什麼代碼? – Vulcan
這就是我發現在快速搜索中獲得appdata目錄的原因。你會用什麼代碼? – Mad3ngineer
那麼,這甚至不是Java,所以我會首先使用正確的(?)語言。至於你所展示的C#代碼,我不知道它是否可以跨越操作系統。在Java中,我總是簡單地使用unix home來存儲應用程序數據。 – Vulcan