我有一个文件需要搜索编码标签,并检索它们识别的数据。标签长度为 4 字节,标识可变长度的 ascii 字符串或以 Little-Endian 编码的两字节整数值。
这些标签似乎都在 4 字节边界上,并且都在文件开头的前 2000 个字节内。我尝试了各种搜索文件的方法。唯一有效的是使用十进制整数值逐字节比较。
在 SO 上找到了一个解决方案,但并不完全针对这个问题:indexOfSubList()。我试过这个测试,但结果是-1。
byte[] needle = {68,73,67,77};
byte[] hayStack = {00, 01, 68,73,67,77, 11, 45};
location = Collections.indexOfSubList(Arrays.asList(hayStack), Arrays.asList(needle));
我绝不会拘泥于这段代码,并且会感激任何其他想法或解决方案。