Java 从文本文件加载到列表中

Java 从文本文件加载到列表中,java,list,Java,List,我一直在尝试从一个外部.txt文件读入一个“任务”列表,以形成一个待办事项列表,但尝试读入列表中的多行内容会出现以下错误,这表明数组没有正确扩展以适应额外的行 java.lang.ArrayIndexOutOfBoundsException:1 但我需要帮助的是让数组正确填充,据我所知,它应该来自这个函数调用 public void loadList(boolean showStatus) { myList.clear(); BufferedRea

我一直在尝试从一个外部.txt文件读入一个“任务”列表,以形成一个待办事项列表,但尝试读入列表中的多行内容会出现以下错误,这表明数组没有正确扩展以适应额外的行

java.lang.ArrayIndexOutOfBoundsException:1

但我需要帮助的是让数组正确填充,据我所知,它应该来自这个函数调用

public void loadList(boolean showStatus) {                
myList.clear();
        BufferedReader br = null;
        try {
            br = new BufferedReader(new FileReader(fileName));
            String line = br.readLine();
            while (line != null) {
                String[] tokens = line.split(",");
                Task item = new Task();
                item.setDescription(tokens[0]);
                item.setPriority(Integer.parseInt(tokens[1])); 
                item.setDueDate(tokens[2]);
                item.setStatus(Boolean.parseBoolean(tokens[3]));
                myList.add(item);
                line = br.readLine();
            }
    } catch (FileNotFoundException ex) {
            Logger.getLogger(ToDoList.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(ToDoList.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            if (br != null)
                try {
                    br.close();
                } catch (IOException ex) {
                    Logger.getLogger(ToDoList.class.getName()).log(Level.SEVERE, null, ex);
                }
        }
    }
(以下是.txt文件的格式供参考)

刺杀圣诞老人,4,12-25-19,假

剃须熊,3,03-09-19,假

加拿大一级,4,09-09-19,真实

此外,显然parseBoolean尝试实际上并不读取.txt文件任务是否为真/假,而是将所有任务默认为假

String[] tokens = line.split(",");
if(token.length != 4)
{ 
 // Then you may skip this line and proceed to next line
 continue;
}
// Or do the reading tokens array

您可以这样做来解决评论中提到的问题。

检查
标记。长度
-您可能有空行或格式不正确的数据哦,天哪。真是太蠢了。我确实有空行。