首页 > 解决方案 > 如何加载文件以供多种方法访问?

问题描述

我想在界面中加载和读取文本文件。我可以在列表中的一种方法中加载它:

 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()and boolean hasMoreItems()。如何加载我的文件以便其他方法可以看到它?

标签: javafileio

解决方案


通过直接在 ArrayList 中调用 read 方法来解决这个问题:

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!


推荐阅读