在java中,解决数组下标越界的问题
//获取文本内容publicstaticList<Simple>getText(StringfilePath){List<Simple>simples=newArrayL...
// 获取文本内容
public static List<Simple> getText(String filePath) {
List<Simple> simples =
new ArrayList<Simple>();
try {
FileReader reader =
new FileReader(filePath);
BufferedReader bfReader =
new BufferedReader(reader);
String text =
null;
while ((text = bfReader.readLine()) != null) {
String[] texts = text.split(
"");
Simple simple =
new Simple();
simple.
Scheduled_title= texts[0];
simple.
Scheduled_execute_time = texts[1];
simple.
runTime = texts[2];
simples.add(simple);
}
}
catch (Exception e) {
e.printStackTrace();
}
return simples;
}
Input Error: java.lang.ArrayIndexOutOfBoundsException:1
at.com.CenDB.FileInsert.getText(FileInsert .java ;41)
at.com.CenDB.main(FileInsert .java ;53)
能不能帮我解决下问题? 展开
public static List<Simple> getText(String filePath) {
List<Simple> simples =
new ArrayList<Simple>();
try {
FileReader reader =
new FileReader(filePath);
BufferedReader bfReader =
new BufferedReader(reader);
String text =
null;
while ((text = bfReader.readLine()) != null) {
String[] texts = text.split(
"");
Simple simple =
new Simple();
simple.
Scheduled_title= texts[0];
simple.
Scheduled_execute_time = texts[1];
simple.
runTime = texts[2];
simples.add(simple);
}
}
catch (Exception e) {
e.printStackTrace();
}
return simples;
}
Input Error: java.lang.ArrayIndexOutOfBoundsException:1
at.com.CenDB.FileInsert.getText(FileInsert .java ;41)
at.com.CenDB.main(FileInsert .java ;53)
能不能帮我解决下问题? 展开
3个回答
2014-12-02
展开全部
String[] texts = text.split("");
Scheduled_title= texts[0];
Scheduled_execute_time = texts[1];
runTime = texts[2];
这里不能这样写,因为不能保证texts的长度是多少,这样明确写出texts的下标,那么texts数组的长度就必须大于等于3;如果texts数组长度等于2,那么texts[2];这里就会下标超出。
Scheduled_title= texts[0];
Scheduled_execute_time = texts[1];
runTime = texts[2];
这里不能这样写,因为不能保证texts的长度是多少,这样明确写出texts的下标,那么texts数组的长度就必须大于等于3;如果texts数组长度等于2,那么texts[2];这里就会下标超出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-12-02
展开全部
在取数据前,先判断一些获取对象是否为空,且长度大于 index+1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询