有一个txt文件,如下所示:
它被分隔符“:”分开:
temp = strLine.split(":");
ContentValues initialValues = new ContentValues();
initialValues.put(TITLE, temp[0].trim());
initialValues.put(DESCRIPTION, temp[1].trim());
initialValues.put(GROUP, temp[2].trim());
initialValues.put(COL1, temp[3].trim());
initialValues.put(COL2, temp[4].trim());
initialValues.put(COL3, temp[5].trim());
initialValues.put(ADDRESS, temp[6].trim());
db.insert(DATABASE_TABLE, null, initialValues);
}
如您所见,此脚本填充数据库。之后我会显示从数据库中检索的数据列表。
但是当.txt不包含ADDRESS字段的数据时:
然后插入函数返回“ArrayIndexOutOfBoundsException”,光标变为空。
数据库在ADDRESS列中为空是可以的,所以如何在 initialValues.put(ADDRESS,temp [6] .trim());
中克服这个问题你能提出什么建议?感谢
答案 0 :(得分:1)
// try to replace this line
initialValues.put(ADDRESS, temp.length>6 ? temp[6].trim():"");
答案 1 :(得分:0)
您可以为地址
添加条件 temp = strLine.split(":");
ContentValues initialValues = new ContentValues();
initialValues.put(TITLE, temp[0].trim());
initialValues.put(DESCRIPTION, temp[1].trim());
initialValues.put(GROUP, temp[2].trim());
initialValues.put(COL1, temp[3].trim());
initialValues.put(COL2, temp[4].trim());
initialValues.put(COL3, temp[5].trim());
if(temp.length==7)
{
initialValues.put(ADDRESS, temp[6].trim());
}
else
{
initialValues.put(ADDRESS, "");
}
db.insert(DATABASE_TABLE, null, initialValues);