diff --git a/common/src/main/java/lingo/common/WordReader.java b/common/src/main/java/lingo/common/WordReader.java index 97cee99..aa574fa 100644 --- a/common/src/main/java/lingo/common/WordReader.java +++ b/common/src/main/java/lingo/common/WordReader.java @@ -1,21 +1,38 @@ package lingo.common; -import java.net.URI; -import java.nio.file.Files; -import java.nio.file.Paths; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; public class WordReader { - public static List readFileToList(String filename) throws Exception { - final URI resource = WordReader.class.getResource(filename).toURI(); - return Files.readAllLines(Paths.get(resource)); + private static void readFileToCollection(String filename, Collection c) throws IOException { + try (final InputStream stream = WordReader.class.getResourceAsStream(filename); + final InputStreamReader streamReader = new InputStreamReader(stream); + final BufferedReader bufferedReader = new BufferedReader(streamReader)) { + String line = null; + while ((line = bufferedReader.readLine()) != null) { + c.add(line); + } + } } - public static Set readFileToSet(String filename) throws Exception { - return new HashSet<>(readFileToList(filename)); + public static List readFileToList(String filename) throws IOException { + final List list = new ArrayList<>(); + readFileToCollection(filename, list); + return list; + } + + public static Set readFileToSet(String filename) throws IOException { + final Set list = new HashSet<>(); + readFileToCollection(filename, list); + return list; } } diff --git a/server/src/main/java/lingo/server/WordRepository.java b/server/src/main/java/lingo/server/WordRepository.java index 27e2e59..eaad226 100644 --- a/server/src/main/java/lingo/server/WordRepository.java +++ b/server/src/main/java/lingo/server/WordRepository.java @@ -1,5 +1,6 @@ package lingo.server; +import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -16,7 +17,7 @@ public class WordRepository { private final List words; - public WordRepository() throws Exception { + public WordRepository() throws IOException { guesses = WordReader.readFileToSet("/guesses.txt"); words = WordReader.readFileToList("/words.txt"); }