java - 在 Java 中读取一个文本文件直到一个空行

标签 java list

读取以下格式的文本文件:

line1
line2

line3
line4

用例是将前两行附加到一个列表中,将最后两行附加到另一个列表中,最后将这两个列表附加到一个列表列表中。

代码:

public static void readUI() {

    try {
        BufferedReader br = new BufferedReader(new FileReader(filePath2));
        ArrayList list = new ArrayList();
        ArrayList<ArrayList<String>> checkList = new ArrayList<>();
        String line;
        String[] splitline;
        String[] subSplit;

        //populating the first list
        while ((line = br.readLine()) != null) {
            System.out.println(line);

            if (!line.trim().isEmpty()) {
                list.add(line.trim());
            } else {
                checkList.add(list);
                list.clear();
            }

        }
        //System.out.println(checkList);
        //System.out.println(checkList.get(0));
        //System.out.println(checkList.get(1));

    } catch (IOException e) {
        System.out.println("OOPS! File could not read!");
    }

}

逻辑解释:

从文件中读取行并继续将其附加到列表中,当我遇到空行时将列表附加到列表列表中并清除单个列表。

错误:

它作为一个列表而不是 2 个列表附加到列表列表中。

关于如何纠正它有什么建议吗?

最佳答案

您永远不会在到达新行时创建新列表。相反,您将列表添加到另一个列表,然后将其清除。

而不是调用 list.clear()您需要使用 list = new ArrayList<>() 重新分配它

关于java - 在 Java 中读取一个文本文件直到一个空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43880250/

相关文章:

javascript - Google Maps API,到地铁站的距离

java - Swagger UI 导致带有文件和 json 对象的 spring-resources 的 Multipart-FormData 请求失败

python - 删除出现在列表中小于 1% 和大于 60% 的所有元素

python - 在 Python 的袖扣中使用带键的列表以获得最佳拟合线

java - Android 项目中的 .java 文件的 Ensime

c++ - 链表节点插入

python - 使用 python map 将元组中的类型 func 应用于字符串列表

java - 我的输出只是给出奇怪的字符

java - 尝试使用 Selenium WebDriver for Java 从 HTML 表获取数据

java - 在 Linux 上从 Java 的进程中设置 Shell 环境变量