String index out of range: -91 怎么解决?
String files = "[2010-07-19 08:20:51] Uin=1072, UserName=林立, Addr=XXXX:1047, Action=login, Mode=local, Result=0(success)\n"
+ "[2010-07-19 22:55:08] Uin=1017, UserName=伟文, Addr=XXXX:1070, Action=logout, Mode=local";
String loginTime="";
int uin=0;
String userName="";
String addr="";
String action="";
String mode="";
String result="";
String[] lines = files.split("\n");
for(String line:lines)
{
vo = new LogVO();
int index1 = line.indexOf("[");
int index2 = line.indexOf("]");
loginTime = line.substring(index1+1, index2);
int index3 = line.indexOf("Uin=");
int index4 = line.indexOf(",", index3);
uin = Integer.parseInt(line.substring(index3+4, index4));
int index5 = line.indexOf("UserName=");
int index6 = line.indexOf(",", index5);
userName = line.substring(index5+9, index6);
int index7 = line.indexOf("Addr=");
int index8 = line.indexOf(",", index7);
addr = line.substring(index7+5, index8);
int index9 = line.indexOf("Action=");
int index10 = line.indexOf(",", index9);
action = line.substring(index9+7, index10);
int index11 = line.indexOf("Mode=");
int index12 = line.indexOf(",", index11);
mode = line.substring(index11+5, index12);//到了这里就说下标越界了
if(line.contains("Result="))
{
int index13 = line.indexOf("Result=");
int index14 = line.indexOf("\n", index13);
result = line.substring(index13+7, 8);
}
vo.setLoginTime(loginTime);
vo.setUin(uin);
vo.setUserName(userName);
vo.setAddr(addr);
vo.setAction(action);
vo.setMode(mode);
vo.setResult(result);
list.add(vo);
}
我现在是从日志里面解析出各个字段信息,但是到mode = line.substring(index11+5, index12);//这一行就报错:String index out of range: -91,下面一个result也是越界,这个要怎么改呢?