2013-04-17 48 views
1

屬性文件中的一些嘗試後和大量的谷歌-ING最後我問再次=)的XPage - 保存從JavaBean的

我有一個Java Bean,創建一個包含一些用戶對我的數據庫與工作TreeSet<String>的。因爲創建我的TreeSet需要一些時間,所以我想將它保存到properties文件中。

在我的Bean中獲取/讀取屬性文件沒有問題,同時設置屬性很簡單,但是如何創建一個OutputStream到我的資源?

代碼片段:

try { 
    Properties userproperties; 
    userproperties = new Properties(); 
    userproperties.load(FacesContextEx.getCurrentInstance().getExternalContext().getResourceAsStream("WEB-INF/user.properties")); 

    for (String groupmember : groupmembers) { 
     userproperties.setProperty("UserList", groupmember); 
    } 
    // userproperties.save(OutputStream, comments) 

} catch (Exception e) { 
    // some errorhandling 
} 
+0

你有沒有嘗試過使用「user.properties」或'getRealPath()'這種方式獲得'OutputStream'? http://www.coderanch.com/t/358508/Servlets/java/write-Property-file-Run-time –

回答

0

您可以通過DXL導入做到這一點。在您的文件系統上創建一個DXL文件並將其導入到數據庫中。

注意,網站用戶必須至少具有設計者權限(高級訪問控制列表設置)

但似乎有一個與8.5.2中的錯誤,我不能讓它使用這個版本。

+0

感謝您的意見,但我不想觸摸服務器的文件系統。我希望有一個解決方案,讓我創建一個OutputStream到我的數據庫中的WebContent/WEB-INF/user.properties文件。就像我從getResourceAsStream()獲得InputStream()' –

+1

@MichaelSaiz:不需要創建DXL文件,您可以即時(從String,NotesStream,RichTextItem)執行此操作。 –

+0

@MichaelSaiz我相信Matthias和Sven正在討論可以用來代替WEB-INF /的文件資源設計元素。 –