[java] hashtable 사용
펄의 해쉬처럼 자바에서도 쓸수있다.
Hashtable
다음은 파일로부터 읽어와 키와 밸류쌍으로 해쉬테이블을 구성하고 출력하는 코드이다.
불러올 파일(WEB.log)의 내용은
#***** PROCESS DATE : 20120207 15:48
#***** FINISH!(WEB) *****
SEND_SUCCESS:4
CHANGE_STATUS:2
CONFIRM!_CHECK:30
DRAFT_SEND_SUCCESS:8
FOLDERSHARE_ADD:1
MBOX_CLEAN:20
LOGIN:21
ADDRBOOK_FAST_GROUP_ADD:1
MAIL_VIEW:33
PADDRBOOK_GROUP_REMOVE:1
SHAREFOLDER_MAIL_COPY:1
MAIL_REMOVE:2
이런식으로 되어있고 로그명은 키, 카운트는 밸류로 구성한다.
private Hashtable<String,String> get_log_file() {
Hashtable<String,String> logset = new Hashtable<String,String>();
try {
BufferedReader in = new BufferedReader(new FileReader("/home/webmail/myst_export_log/record/WEB.log"));
String s;
while ((s = in.readLine()) != null) {
if (s.equals("") || s.charAt(0) == '#') { continue; } //라인이 공백이거나 첫글자가 #이면 패스
String temp[] = s.split(":");
logset.put(temp[0], temp[1]); // logset에 넣음
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
//출력하기
Enumeration en = logset.keys();
while (en.hasMoreElements()) {
String key = en.nextElement().toString();
System.out.println(key + " :::: "+logset.get(key));
}
return logset;
}