LogParserTest不通过
来源:6-11 省份浏览量统计之日志解析
weixin_慕瓜0383873
2020-04-21
从vi中复制出来的值还是^A,不是/001
String log = "20947290187^Ahttp://www.yihaodian.com/ctg/s2/c5287-%E5%A4%A7%E7%B1%B3/b/a28186,28184-s1-v0-p1-price-d0-f0-m1-rt0-pid-k/1/^Ahttp://www.yihaodian.com/ctg/s2/c5287-%E5%A4%A7%E7%B1%B3/b1879/a28186^A^A2^ASKAPHD3JZYH9EE9ACB1NGA9VDQHNJMX1NY9T^A^A^A^A^APPG4SWG71358HGRJGQHQQBXY9GF96CVU^A2225501^A1^A124.79.172.232^A^Amsessionid:YR9H5YU7RZ8Y94EBJNZ2P5W8DT37Q9JH,uname:chen45311,unionKey:2225501^A^A2013-07-21 09:32:30^A134885852^Ahttp://www.baidu.com/s?wd=1%E5%8F%B7%E5%BA%97&rsv_bp=0&ch=&tn=baidu&bar=&rsv_spt=3&ie=utf-8&rsv_sug3=5&rsv_sug=0&rsv_sug1=4&rsv_sug4=313&inputT=4235^A11^A0^A\\N^A1^A-10^A^A^A^A^AMozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MATP; Media Center PC 6.0; .NET4.0C; InfoPath.2; .NET4.0E)^AWin32^A^A 93 ^A1^A^Asearch_order_2^A上海市^A1^Anull^A^A上海市^A^A66^A^A^A^A^A\\N^A\\N^A\\N^A\\N^A2013-07-21\n";
错误信息为:
java.lang.ArrayIndexOutOfBoundsException: 13
尝试在LogParser中修改
String[] splits = log.split("^A");
还是报错的,错误信息为
java.lang.ArrayIndexOutOfBoundsException: 13
写回答
2回答
-
慕粉2156561567
2021-03-11
你直接写死IP是第13位的做法本来就是错误的,在实际工作中不可能这样写,就算没出问题也是凑巧而已。老师的做法只是个例,我自己在编写这部分代码的时候就是自己对字符串进行分割之后逐个去校验是否是IP,直接写死下标是极其不负责任的做法
012021-03-11 -
Michael_PK
2020-04-21
^A的默认值就是\001,你是直接copy内容到idea了吧? idea有肉眼看不到的分隔符,建议你拷贝到sublime之后,然后整个文件放到指定的目录下,别拷贝内容到idea中
00
相似问题