2013-07-08 2 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로 액세스하려면, 당신은 같은 그것을 선언해야 다음 CREATE 질문에 관해서는

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

은 JavaDoc을에는 FileHashMap.CREATE 플래그가 없다. 이것이 기본값입니다. 파일이 없으면 파일을 만들거나 이미 존재하는 경우 기존 파일을 사용합니다. NO_CREATE 일 경우 일시적이지 않은 유일한 선택입니다. 파일이 없으면 예외를 던집니다.

+0

나는 그걸하려고도했다 .. 아직도 CREATE를 사용할 수 없다 .. 버전에 문제가 있습니까 ??? 나는 다른 버전을 가져 왔는지 모른다. – 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

관련 문제