我正在製作一個Java遊戲,它將選項和LWJGL jars存儲在標準應用程序數據存儲目錄中(我認爲這就是Windows上的C:\ Users \ user \ AppData \ roaming \ application,〜/。在Linux上的應用程序,以及Mac上的〜/ Library/Preferences)。目前我只是使用System.getProperty(os.name),並有一個if-else來選擇正確的文件路徑(它使用system.getProperty(user.home)並向其添加正確的文件路徑)。但是,這可能不適用於某些奇怪的操作系統,因爲if-else在操作系統名稱中找不到Windows,Mac或Linux,這似乎也是一種非常糟糕的方式來執行此操作(也是if-否則假定操作系統是Linux,如果它不是Windows或Mac)。我嘗試了反編譯Minecraft,它將應用程序數據和LWJGL jar存儲在正確的路徑中,但代碼被混淆了。有沒有更好的方式來做到這一點,或者我應該堅持使用os.name上的if-else?平臺獨立文件存儲Java
0
A
回答
1
對於配置首選項,有Java首選項API。
對於其他文件,我還沒有找到解決方案。目前最好的解決方案可能是根據user.home
屬性在OS類型上進行回退。
在Linux/Unix(不是Mac)上,您可能要兌現XDG Base Directory specification。
0
如若不是這樣的工作無處不在,即路徑沒有的if-else-IF:
String userHome = System.getProperty("user.home");
if (!userHome.endsWith("/")) {
userHome += "/";
}
String targetPath = userHome + ".myapp/settings.properties";
+0
這應該無處不在,但它不適合用於存儲首選項的標準位置(例如Windows上的user.home/AppData/roaming/appName /)。 –
2
Java Preferences API是爲這樣的目的而創建。
相關問題
- 1. 平臺獨立.proj文件
- 2. Java平臺獨立性
- 3. 試圖加載文件平臺獨立
- 4. .winmd文件平臺是獨立的嗎?
- 5. 寫作BMP文件(獨立平臺)
- 6. 平臺獨立流
- 7. 獨立於Java的usb輸入平臺
- 8. 驗證Java平臺獨立性
- 9. Java 7平臺獨立的Base64?
- 10. Java - howto平臺獨立輸出
- 11. 瞭解Java平臺的獨立性
- 12. 如何使文件閱讀平臺獨立於Java
- 13. GenericPortlet - FileUpload平臺獨立
- 14. 平臺獨立的c + + DLL
- 15. 寫入文件(?獨立存儲wp7)
- 16. 獨立於平臺的OSGi控制檯
- 17. Silverlight獨立存儲
- 18. 從獨立存儲
- 19. 在後臺獨立存儲中存儲圖像
- 20. Android。我如何創建一個平臺獨立文本文件?
- 21. 多平臺單文件存儲
- 22. WP8保存獨立存儲文件的物理文件
- 23. 將文件存儲在獨立存儲器中
- 24. 在獨立存儲中存儲項目文件夾
- 25. Java控制檯獨立?
- 26. 爲什麼Java平臺在理論和平臺上獨立於實踐?
- 27. 目標文件平臺是獨立的嗎?
- 28. pip需求文件中的平臺獨立性
- 29. 序列化文件平臺是獨立的嗎?
- 30. 在獨立存儲中存儲IList
真的有必要將這些文件存儲在特定位置嗎? – Smit
另請參閱:1)['Preferences'](http://docs.oracle.com/javase/7/docs/api/java/util/prefs/Preferences.html)*「該類允許應用程序存儲和檢索用戶和系統首選項以及配置數據,這些數據被持久地存儲在一個依賴於實現的後臺存儲中。「* 2)用於JWS的['PersistenceService'](http://pscode.org/jws/api.html#bs)應用。 3)小程序的Cookies。 –