diff --git a/src/main/java/io/github/eb4j/ebview/dictionary/DictionariesManager.java b/src/main/java/io/github/eb4j/ebview/dictionary/DictionariesManager.java index 48ad7a0..9a50c1f 100644 --- a/src/main/java/io/github/eb4j/ebview/dictionary/DictionariesManager.java +++ b/src/main/java/io/github/eb4j/ebview/dictionary/DictionariesManager.java @@ -22,13 +22,14 @@ import io.github.eb4j.ebview.data.IDictionary; import io.github.eb4j.ebview.dictionary.oxford.OxfordDriver; import io.github.eb4j.ebview.utils.Stemmer; -import io.github.eb4j.ebview.utils.FileUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.Collections; +import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -60,6 +61,43 @@ public DictionariesManager() { stemmer = new Stemmer(); } + /** + * Find files in subdirectories. + * + * @param dir + * directory to start find + * @return list of filtered found files + */ + private static List findFiles(final File dir) { + final List result = new ArrayList<>(); + Set knownDirs = new HashSet<>(); + findFiles(dir, result, knownDirs); + return result; + } + + private static void findFiles(final File dir, final List result, final Set knownDirs) { + String currDir; + try { + // check for recursive + currDir = dir.getCanonicalPath(); + if (!knownDirs.add(currDir)) { + return; + } + } catch (IOException ex) { + return; + } + File[] list = dir.listFiles(); + if (list != null) { + for (File f : list) { + if (f.isDirectory()) { + findFiles(f, result, knownDirs); + } else { + result.add(f); + } + } + } + } + public void closeDictionaries() { synchronized (this) { dictionaries.stream().forEach(this::closeDict); @@ -85,7 +123,7 @@ public List getDictionaryNames() { * @param dictionaryDirectory directory where dictionary stored. */ public void loadDictionaries(final File dictionaryDirectory) { - List listFiles = FileUtils.findFiles(dictionaryDirectory); + List listFiles = findFiles(dictionaryDirectory); for (File f : listFiles) { try { loadDictionary(f); diff --git a/src/main/java/io/github/eb4j/ebview/utils/FileUtils.java b/src/main/java/io/github/eb4j/ebview/utils/FileUtils.java deleted file mode 100644 index 9b60a86..0000000 --- a/src/main/java/io/github/eb4j/ebview/utils/FileUtils.java +++ /dev/null @@ -1,52 +0,0 @@ -package io.github.eb4j.ebview.utils; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - - -public final class FileUtils { - - private FileUtils() { - } - - /** - * Find files in subdirectories. - * - * @param dir - * directory to start find - * @return list of filtered found files - */ - public static List findFiles(final File dir) { - final List result = new ArrayList<>(); - Set knownDirs = new HashSet<>(); - findFiles(dir, result, knownDirs); - return result; - } - - private static void findFiles(final File dir, final List result, final Set knownDirs) { - String currDir; - try { - // check for recursive - currDir = dir.getCanonicalPath(); - if (!knownDirs.add(currDir)) { - return; - } - } catch (IOException ex) { - return; - } - File[] list = dir.listFiles(); - if (list != null) { - for (File f : list) { - if (f.isDirectory()) { - findFiles(f, result, knownDirs); - } else { - result.add(f); - } - } - } - } -}