利用Jpcap 读、写文件 会出现异常

利用Jpcap 读、写文件 会出现异常:
An unexpected error has been detected by Java Runtime Environment:
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x10001529, pid=4056, tid=4068
# Java VM: Java HotSpot(TM) Client VM (11.0-b15 mixed mode, sharing windows-x86)
... ...


一开始在网上查询很久,很多人都说是Jdk的问题,因为我有一个Eclipse 和 一个MyEclipse,所以
也就有两个Jdk版本,同样的程序在两个版本的Jdk都会出现上面的异常。(网上找问题答案+做的无用功
加起来有2个小时之久)


后来又仔细看了下我写的程序,拿读一个存放数据包的文件来说
Jpcap myJpcap= Jpcap.openFile("Packet.txt");
try
{
while(true)
{
Packet packet = myJpcap.getPacket();
if(packet == null )
break;
else
System.out.println(packet);
}
}
catch (Exception ex)
{
throw ex;
}
后来我发现问题了,我是先去读数据,然后再分析这个数据包是不是存在的。
我猜想:如果到文件末尾了,仍然去读数据包,就会出现上面的EXCEPTION_ACCESS_VIOLATION的异常。
于是我将程序改成一下的形式:
myJpcap= Jpcap.openFile("Packet.txt");
try
{
int flag = 10;//10<= 这个文件中原本存在的Packet的个数
while(flag>0)
{
Packet packet = myJpcap.getPacket();
if(packet == null )
break;
else
System.out.println(packet);
}
}
catch (Exception ex)
{
throw ex;
}


运行,木有问题~~~~~               
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值