草庐IT

java - 使用 Kaitai Struct 在 Java 中解析超过 2.15 GB 的文件

我正在使用Kaitai-Struct解析Java中的大型PCAP文件。每当文件大小超过Integer.MAX_VALUE字节时,我都会遇到由底层ByteBuffer的大小限制引起的IllegalArgumentException。我没有在其他地方找到对这个问题的引用,这让我相信这不是库限制,而是我使用它的方式的错误。由于问题是由尝试将整个文件映射到ByteBuffer引起的,我认为解决方案是只映射文件的第一个区域,并且随着数据的消耗再次映射跳过已解析的数据。由于这是在KaitaiStructRuntime库中完成的,这意味着我需要编写自己的类来扩展KatiaiStream并覆盖自动生成