我有一个文件,我需要搜索编码标签,并检索它们标识的数据。标签长度为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));
我决不会忠于这段代码,并希望能有其他想法或解决方案。
“但结果是-1”,你会期望它是什么? – hyde 2013-03-11 14:52:01
如果'hayStack'数组实际包含'needle'数组,那么您的示例将会*更多*更多信息。在那种情况下,'-1'也被返回,这是更有趣的考虑。 – 2013-03-11 14:59:32
我已更正针头 – Mike 2013-03-11 15:01:01