Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用csv文件中的日期和时间填充JTable?_Java_Csv_Datetimeformatter_Datetimeparseexception - Fatal编程技术网

Java 如何使用csv文件中的日期和时间填充JTable?

Java 如何使用csv文件中的日期和时间填充JTable?,java,csv,datetimeformatter,datetimeparseexception,Java,Csv,Datetimeformatter,Datetimeparseexception,这是我一直试图转换的链接 2011-12-22,12:28:51,12:28:53 2012-10-22,12:28:57,12:28:59 2010-10-22,12:29:10,12:29:12 基本上,我想让我的JTable在这里显示我的csv文件的内容: package SimpleBook; import java.time.DateTimeException; import java.time.LocalDate; import java.time.LocalTime; impo

这是我一直试图转换的链接

2011-12-22,12:28:51,12:28:53
2012-10-22,12:28:57,12:28:59
2010-10-22,12:29:10,12:29:12
基本上,我想让我的JTable在这里显示我的csv文件的内容:

package SimpleBook;

import java.time.DateTimeException;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.io.*;

public class SimpleBookList extends DateTimeException {
    private ArrayList<SimpleBook> bookList;
    public SimpleBookList() {
        super("");
        bookList = new ArrayList<SimpleBook>();
    }
    public void add(SimpleBook sb) {
        bookList.add(sb);
    }
    public void readFromCSV(String filename) {
        File file = new File(filename);
        FileReader reader = null;

        try {
            reader = new FileReader(file);
        }
        catch (FileNotFoundException e) {
            e.printStackTrace();
            System.exit(1);
        }
        BufferedReader infile = new BufferedReader(reader);
        String line = "";
        DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss");
        try {
            boolean done = false;
            while (!done) {
                line = infile.readLine();
                if (line == null) {
                    done = true;
                }
                else {
                    String[] tokens = line.split(",");
                    LocalDate date = LocalDate.parse(tokens[0], dateFormatter);
                    LocalTime clockIn = LocalTime.parse(tokens[0], timeFormatter);
                    LocalTime clockOut = LocalTime.parse(tokens[0], timeFormatter);
                    SimpleBook sb = new SimpleBook(date,clockIn,clockOut);
                    bookList.add(sb);
                }
            }
        }
        catch (Exception e) {
            e.printStackTrace();
            System.exit(1);
        }
    }
    public Object[][] convert2Data() {
        Object[][] data = new Object[bookList.size()][3];
        for (int i = 0; i < bookList.size(); i++) {
            data[i][0] = bookList.get(i).getDate();
            data[i][1] = bookList.get(i).getClockIn();
            data[i][2] = bookList.get(i).getClockOut();
        }
       return data;
    }
}
错误消息:

java.time.format.DateTimeParseException: Text '2011-12-22' could not be parsed at index 2 at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2052)
    at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1954)
    at java.base/java.time.LocalTime.parse(LocalTime.java:465)
    at SimpleBook.SimpleBookList.readFromCSV(SimpleBookList.java:44)
    at SimpleBook.BasicJTable.<init>(BasicJTable.java:25)
    at SimpleBook.BasicJTable.main(BasicJTable.java:40)

哪种方式不起作用?它什么也没显示吗?您是否收到任何错误消息?java.time.format.DateTimeParseException:java.base/java.time.format.DateTimeFormatter.parseResolved0DateTimeFormatter.java:2052 at java.base/java.time.format.DateTimeFormatter.parseDateTimeFormatter.java:1954 atjava.base/java.time.LocalDate.parseLocalDate.java:430在SimpleBook.SimpleBookList.readFromCSVSimpleBookList.java:42在SimpleBook.BasicJTable.BasicJTable.java:25在SimpleBook.BasicJTable.mainBasicJTable.java:40提示:编辑时,不要使用右边的JavaScript/HTML/CSS片段按钮,在red1中除了..之外的任何内容。。JavaScript、HTML和CSS代码片段!这是一项特殊功能,允许用户单击按钮并实际查看呈现代码、标记和样式的效果。而是使用左侧的代码按钮,在it1上方有一个绿色复选标记。1它们是。这种错误消息会弹出,堆栈跟踪应该作为一个问题添加到问题中。当然,对代码和代码片段、结构化文档(如XML或输入/输出)使用代码格式。要执行此操作,请选择文本并单击邮件发布/编辑表单顶部的{}按钮。您需要令牌[1]用于打卡,令牌[2]用于打卡。