我正在尝试创建一个程序,该程序从CSV文件获取输入并将其写入Java创建的Access数据库和表。该程序使用while循环来浏览CSV文件。该文件的第一行完美地写入数据库,但它在第二行崩溃,同时尝试将相同类型的输入写入表中。我怎么解决这个问题?到目前为止,这是我的代码:
public void GPXtoAccess() {
try {
Access = new Scanner(DummyCSV);
Scanner = new Scanner(DummyCSV);
while (Access.hasNextLine()) {
Scanner.useDelimiter(";");
GPXlat = Scanner.next();
GPXlon = Scanner.next();
GPXtime = Scanner.next();
GPXname = Scanner.next();
GPXdesc = Scanner.next();
try {
GPXTable.addRow(Column.AUTO_NUMBER, GPXlat, GPXlon, GPXtime, GPXname, GPXdesc);
} catch (IOException T) {
System.out.println("Error: " + T);
System.out.println("Error is thrown while writing data to table");
}
}
} catch (FileNotFoundException M) {
System.out.println("Error: " + M);
}
}
在您的代码中,您使用Scanner.next()
返回String
值。大多数情况下,您的表列值与String
不匹配,这就是为什么你得到Numberformatexception
最有可能的是,您可能会尝试将String类型转换为数字类型。请检查您尝试使用的数据的数据类型。