2013-07-08 106 views
0

我正在使用FileHashMap將我的Hashmap映射到一個文件。FileHashMap <K, V>

我使用

Map<String, String> myMap = new FileHashMap<String, String>("c:/myFile", FileHashMap.TRANSIENT); 

然後就跟我使用HashMap中我可以使用MYMAP。不同之處在於,所有內容都將保存到文件中,當我將其刪除時,它也會從文件中刪除。

我可以在哪裏使用此FileHashMap,它可以使用現有文件並使用已存在的文件中的內容。所以,如果我的應用程序停止,我可以再次開始我離開的地方。

+0

你使用什麼語言?請將其添加爲標籤。另外,請格式化您的代碼。因爲它是一個單一的行,你可以把它反向 –

回答

1

如果您按照您的示例聲明,您將只能訪問Map界面中可用的方法。如果你想獲得它的方法來訪問它作爲一個FileHashMap,你必須聲明它是這樣:

FileHashMap<String, String> myMap = 
    new FileHashMap<String, String>("c:/myFile", FileHashMap.CREATE); 
... 
myMap.save(); 

至於CREATE問題,還有在JavaDoc沒有FileHashMap.CREATE標誌。這是默認值 - 如果該文件不存在,它將創建文件,或者如果該文件已存在,則使用現有文件。如果NO_CREATE是非瞬態的唯一選擇 - 如果文件尚不存在,則拋出異常。

+0

我試過這樣做..仍然無法使用創建..有什麼問題的版本?我不知道我是否已經導入了其他版本.. – Ankita

+0

雖然我現在可以使用.save() – Ankita

+0

查看我對CREATE的編輯 –

0

我想你需要仔細看看javadoc。 http://software.clapper.org/javautil/api/org/clapper/util/misc/FileHashMap.html

如果您希望一切都被重新打開,爲什麼要讓FileHashMap暫態?創建FileHashMap這樣的:

//this statements opens a persistent FileHashMap, creating it if it doesn't already exist: 
//should be this 
FileHashMap map = new FileHashMap ("/my/map/dir", FileHashMap.CREATE); 
//NOT THIS 
Map map = new FileHashMap ("/my/map/dir", FileHashMap.CREATE); 
//write a bunch of stuff 
map.save(); 

編輯:哎呀:)你需要將其申報爲FileHashMap否則你只能使用地圖的方法。

+0

謝謝..你是對的..但我不知道爲什麼當我使用CREATE時,它顯示錯誤。 – Ankita

+0

我都不能使用map.save )... – Ankita

+0

謝謝..我明白了... – Ankita

相關問題