大家好,这是我得到的错误
线程“main”中的异常java.io.IOException:值的数量错误。读3,预期4,读令牌[EOF],第28208行
行1-28207是正确的,所有4列都显示正确的数据,但是最后一行在单元格D中缺少值(不应该在哪里)
这是我的疑问。
PreparedStatement statement = con
.prepareStatement("SELECT b.id_history ,position ,id_winner, "
+ "amt_won "
+ "FROM first_game_results a, first_game_results_statistics b "
+ "WHERE a.id_history = b.id_history "
+ "AND amt_won <> 0.00 " + "AND id_winning <> 0 "
+ "AND id_player = 1");
然后将其打印到CSV文件中我正在使用
for (int i = 1; i < columnCount + 1; i++) {
String name = rsmd.getColumnName(i);
out.print(name);
if (i != columnCount + 1) {
out.print(",");
//System.out.print(i);
相对来说,我对java很陌生。
任何帮助将不胜感激
错误
答案 0 :(得分:0)
写文件时提交初学者错误是在写完文件时忘记刷新并关闭它们。这可能导致丢失文件的末尾或整个文件。
确保您已在作者,文件等上调用flush()
和close()
,或者调用与您正在使用的工具等效的任何调用。根据您的实现,在您致电close()
之前,该文件甚至可能会被其他打开的程序锁定。
Flush告诉它在其缓冲区中写入任何内容。关闭告诉你已完成文件。