读取纯真IP数据库QQwry.dat的java版程序报数组越界异常问题 .22

来源:互联网 发布:网页关键字优化 编辑:程序博客网 时间:2024/04/29 04:52

上周找了个读取纯真IP数据库QQwry.dat的ava版程序,测试的时候试图调用方法:
List IPSeeker.getIPEntriesDebug(String s) //给定一个地点的不完全名字,得到一系列包含s子串的IP范围记录
时,总报数组越界,程序根本没法运行到正常结束。

google了一通,几乎所有的都是直接转帖贴程序,并号称运行成功。
仅有几个帖子说碰到同样的问题,4页的回复,没有一个指明原因的。

不知道那些转帖的人是否真的使用过这些代码,是不是真的能跑出结果。或许和QQwry.dat的数据版本有关,但我换了几个版本,都是同样的问题。

仔细阅读程序发现是private String readString(int offset)方法从offset偏移处读取一个以0结束的字符串是没有进行异常处理。加上try catch 就一切顺利了。QQwry.dat一直在维护,文件里并非所有记录都完全符合格式规范。

googling是个快速解决问题的途径,但也不是屡试不爽的,关键时候还是要靠自己啊,现在的人都很浮躁,都爱快餐。

 

0 0