package edu.fudan.ontology; import gnu.trove.set.hash.TCharHashSet; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.Serializable; /** * 简易字典 * @author xpqiu * */ public class CharClassDictionary implements Serializable{ private static final long serialVersionUID = 4368388258602283597L; public String name; private TCharHashSet dict; public CharClassDictionary() { dict = new TCharHashSet(); } public void load(String path,String tag) throws Exception{ if(path == null) return; BufferedReader bfr; bfr = new BufferedReader(new InputStreamReader(new FileInputStream(path),"utf8")); String line = null; while ((line = bfr.readLine()) != null) { if(line.length()==0) continue; int len = line.length(); dict.add(line.charAt(0)); if(len>1){ for(int i=1;i<len-1;i++){ dict.add(line.charAt(i)); } dict.add(line.charAt(len-1)); } } name = tag; } /** * 返回词典标签 * @param word * @return 词典列表 */ public boolean contains(char c) { return dict.contains(c); } }