package wordcloud.nlp.tokenizer.trie;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class StringTrie {
private Trie<Character> trie;
public StringTrie() {
trie = new Trie<>(' ');
}
public void add(String s) {
trie.add(toArray(s));
}
public boolean contains(String s) {
return trie.contains(toArray(s));
}
public int size() {
return trie.size();
}
private Character[] toArray(String s) {
Character[] cArray = new Character[s.length()];
for(int i = 0; i < cArray.length; i++) {
cArray[i] = s.charAt(i);
}
return cArray;
}
public void loadFile(String fileName) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(
getClass().getClassLoader().getResourceAsStream(fileName)
));
String line;
while ((line = br.readLine()) != null) {
add(line);
}
System.out.println("Load Complete: " + size() + " Entries");
} catch (IOException e) {
e.printStackTrace();
}
}
public String toString() {
return trie.toString();
}
}