读取和写入CSV文件时出现java空字符串错误
我正在使用prepare语句读取csv文件并将其写入数据库,但在插入数字列时,我遇到了此错误
java.lang.NumberFormatException: empty String
我试着用这种方式处理
if(csvLength > 43 && (null != csvRead[43] && !csvRead[43].trim().equals("\"\""))){
pstmt.setFloat(45,Float.parseFloat((csvRead[43].replac("\"","")).toString()));
}else{
pstmt.setNull(45,Types.INTEGER);
但仍然给出相同的错误。请帮忙
csvRead[43]-“”“”处的值
# 1 楼答案
这不会检查空字符串:
检查值为两个引号的字符串。你需要检查
equals("")
# 2 楼答案
因为
!csvRead[43].trim().equals("\"\"")
返回true,它将进入if条件并尝试解析""
,您将获得NumberFormatException。应该是!csvRead[43].trim().equals("")
我还想建议,为
csvRead[43]
创建一个变量,从数组中读取三次值。这将稍微提高性能