我正在开发一个相对简单的数据包捕获应用程序,并且正在使用 Jpcap 库。在我将保存功能添加到我的程序之前,一切都在工作。
我的写功能
public void write() {
try {
writer = JpcapWriter.openDumpFile(captor, fileName);
} catch (IOException e) {e.printStackTrace();}
for (Packet packet : this.packets) {
writer.writePacket(packet);
}
writer.close();
}
它正确地获取了捕获者和文件路径,成功地循环了所有数据包,但是当它尝试在代码块的末尾写入时,JVM 崩溃了。
我的问题是,为什么我的应用程序在尝试关闭 JpcapWriter 时会崩溃?
更新:我刚刚发现的奇怪的事情是它实际上是在写入文件。它只是在写入后崩溃。我在关闭后添加了一个打印语句,但它永远不会到达它。