Java JpcapWriter导致应用程序崩溃
我正在开发一个相对简单的数据包捕获应用程序,并且正在使用Jpcap库。在我将“保存”功能添加到程序之前,一切都正常工作 我的写函数 它正确地获取了captor和filepath,成功地循环了所有数据包,但是当它试图在代码块末尾写入时,JVM崩溃了 我的问题是,为什么我的应用程序在试图关闭JpcapWriter时崩溃Java JpcapWriter导致应用程序崩溃,java,crash,jpcap,Java,Crash,Jpcap,我正在开发一个相对简单的数据包捕获应用程序,并且正在使用Jpcap库。在我将“保存”功能添加到程序之前,一切都正常工作 我的写函数 它正确地获取了captor和filepath,成功地循环了所有数据包,但是当它试图在代码块末尾写入时,JVM崩溃了 我的问题是,为什么我的应用程序在试图关闭JpcapWriter时崩溃 更新:我刚刚发现的奇怪的事情是,它实际上正在写入文件。它只是在写入后崩溃。我在收盘后添加了一条打印语句,但它从未到达 我发现另外几个人和我有同样的问题。我不知道为什么,但取消关闭wr
更新:我刚刚发现的奇怪的事情是,它实际上正在写入文件。它只是在写入后崩溃。我在收盘后添加了一条打印语句,但它从未到达 我发现另外几个人和我有同样的问题。我不知道为什么,但取消关闭writer的呼叫解决了我的问题。该文件现在写入正确,没有问题。目前,我对它的工作感到满意,但我可能会在以后再讨论这个问题
更新:当调用停止捕获时,文件关闭。当捕获线程关闭时,它会关闭捕获器,而捕获器又会为我关闭编写器。本质上,我试图告诉它关闭写入程序,因为写入程序已经关闭,这导致JVM崩溃。请定义“崩溃”,并描述错误JVM崩溃,一些异常。对不起。它会导致JVM崩溃。您能在这方面帮助我吗:
public void write() {
try {
writer = JpcapWriter.openDumpFile(captor, fileName);
} catch (IOException e) {e.printStackTrace();}
for (Packet packet : this.packets) {
writer.writePacket(packet);
}
writer.close();
}