Как я могу загрузить файл для нескольких методов доступа? - PullRequest
0 голосов
/ 21 марта 2020

Я хотел бы загрузить и прочитать текстовый файл внутри интерфейса. Я могу загрузить его одним методом внутри списка:

 static List readFile(String fileName) throws IOException {
        List result;
        try (Stream<String> lines = Files.lines(Paths.get(fileName))) {
            result = (List) lines.collect(Collectors.toList());
        }
        return result;

    }

Но я хочу использовать этот результат (список) внутри других методов, которые есть в моем интерфейсе, таких как nextItem() и boolean hasMoreItems(). Как я могу загрузить свой файл, чтобы другие методы могли его увидеть?

1 Ответ

0 голосов
/ 15 апреля 2020

Разобрался, вызвав метод read прямо в ArrayList:

public final ArrayList<String> file = readLines(); // Stores read config file
ListIterator<String> list = file.listIterator(); // Iterates through stored config file

public ArrayList<String> readLines() { // Reads config file

    try {
        ArrayList<String> lines = new ArrayList<>(
                Files.readAllLines(Paths.get("configFile.txt")));

        return lines;
    } catch (IOException e) {
        // handle exception
    }
    return null;
}

Теперь другие методы этого класса могут получить доступ к этому ArrayList!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...