簡體   English   中英

將全局應用程序數據放在Vista中的位置?

[英]Where to put global application data in Vista?

在Windows(Vista)的系統應該在哪里我被大家的計算機,即每個用戶地方,應該是可讀的數據讀寫的,? Vista的C:\\ Users \\ xxx \\ AppData \\ something,C:\\ Program Files和C:\\ ProgramData目錄和UAC的概念有點令人困惑。

此外,有沒有現成的解決方案來確定Java的位置? 我想它需要與本機庫進行一些交互,因為System.getProperties只有user.home和user.dir,它們都不是全局可寫的。

在vista c:\\ ProgramData就是這個地方,它取代了以前用於C:\\ Documents and Settings \\ AllUsers \\ AppData的XP。

我不確定在java中執行此操作的具體細節..但是,ALLUSERSPROFILE環境變量為您提供了路徑,如果您可以掌握它。 您應始終使用此而不是硬編碼路徑,因為文件夾名稱在操作系統的不同國際化版本上更改。

如果您需要允許沒有管理員權限的用戶修改全局設置,那么正確的方法是為應用程序創建安裝程序,並在安裝期間設置“公共應用程序數據”文件夾的權限,以便允許用戶區域寫信給它。

看到這篇文章: 在哪里放置常見的可寫應用程序文件?

除非數據非常大,否則您可能需要查看Preferences API ; 特別是Preferences.systemNodeForPackage 這為您提供了一個獨立於平台的,系統范圍的,與后端無關的存儲設施,如果這就是您所追求的。

此外,有沒有現成的解決方案來確定Java的位置?

您可以檢查適當的環境變量,例如%PROGRAMDATA%,%PROGRAMFILES%等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM