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也是越界,这个要怎么改呢?
+ "[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也是越界,这个要怎么改呢?
...全文
相关推荐
String index out of 4解决方法
本篇文章将详细介绍如何解决“String index out of 4”的问题,并提供一些实用的解决方案。#### 一、理解异常原因在深入探讨解决方案之前,首先需要了解为什么会发生这种异常。
Mabatis错误提示Parameter index out of range的处理方法
解决方法是检查参数索引,确保参数索引从1开始。Parameter index out of range错误是MyBatis中的一种常见错误,通过检查参数索引、参数类型和参数数量,可以解决该错误。
Spring+Hibernate StringIndexOutOfBoundsException String index out解决方法
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 这个异常的出现是由于 Hibernate
代码折叠工具 For Eclipse ——修复版
针对此错误的修复版java.lang.StringIndexOutOfBoundsException: String index out of range: 45at java.lang.String
新手常见Python运行时错误汇总.docx
IndexError: list index out of range该错误发生在引用超过 list 最大索引的情况下。


