public DictionaryFile(File file) { super(file.getPath()); type = DictionaryType.parse(file.getName()); affName = type.isArchive() ? ZipUtil.containsFile(getPath(), ".aff") : getPath(); if (affName != null) affName = new File(affName).getName(); FileUtil.createFolder(getTempFolder()); affFile = extractAffFile(); if (affFile != null) { // Detect charset affReader.setChartSetReader(true); affReader.readFile(affFile, Charset.forName("UTF-8")); affReader.setChartSetReader(false); } dicName = type.isArchive() ? ZipUtil.containsFile(getPath(), ".dic") : getPath(); if (dicName != null) dicName = new File(dicName).getName(); dicFile = extractDicFile(); dicReader.setAffReader(affReader); if (dicFile != null) { // Detect words count dicReader.setWordReader(true); dicReader.readFile(dicFile, getCharset()); dicReader.setWordReader(false); } if (isValid()) laguageID = FileUtil.changeFileExt(dicName, ""); }
public String getWordsCount() { return wordFormat.format(dicReader.getWordsCount()); }
public void clear() { affReader.clear(); dicReader.clear(); System.gc(); }
public void readFiles() { affReader.readFile(affFile, getCharset()); dicReader.readFile(dicFile, getCharset()); }