2010-10-12 59 views
1

我最需要的是如何在用戶機器上存儲應用程序的第一個執行日期和幾個設置等信息。該程序將分佈在Windows和Mac OS上。這些信息需要在同一臺機器上的用戶之間共享......有些全局設置。在Windows上,我可能會將這些信息存儲在註冊表中,不知道關於Mac的信息......我真的很想爲此提供多平臺解決方案,否則請告知平臺特定的信息。如何存儲Java桌面應用程序(多平臺)全局設置?

回答

6

使用java.util.prefs.Preferences

如果你想在計算機上的所有用戶使用相同的屬性,使用Preferences.systemRoot()(而不是Preferences.userRoot()

+0

它會在mac上爲多個用戶使用嗎? – 2010-10-12 12:03:53

+0

看到我的更新.. – Bozho 2010-10-12 12:04:41

+1

感謝您的答案,這真的會解決我所有的問題,如果它的工作:D 2使用首選項的問題:1)在窗口某些註冊表項必須已經創建,以便此工作,或你必須是管理員,否則你會得到很多的警告,沒有得到保存。讓安裝程序創建這個鍵?也許......很多痛苦...... 2)在mac系統上只有當運行該程序的用戶是administrator/root時,root纔會堅持在硬盤上。底線看來,我不能使用這個解決方案,因爲我們的產品目標是普通用戶:/ – m0s 2010-10-13 07:54:58

2

嘗試Preferences類。它可以存儲用戶或系統偏好。聽起來你需要使用系統首選項,因爲它們對於所有用戶都是一樣的。

該實現是系統特定的,對於Windows它將使用註冊表。不確定關於Mac。

2

如果@bozho優秀方案不滿足您的要求,您也可以通過使用commons configuration去Apache方式。

+3

+1表示Bozho非常出色 – willcodejavaforfood 2010-10-12 12:09:37

+2

那麼,在這種情況下,@willcodejavaforfood +1表示你的優秀僞:-) – Riduidel 2010-10-12 12:46:54