我有一个hex文件,其值为
f0 01 05 00 00 00 00 00 00 3d 61 c1 c1 df 40 02 00 c0 00 00 09 18 16 00 ef 01 40 00 00 3f 20 f0 01 03 00 00 00 00 00 007 a7 c1 c1 df 40 02 00 c0 01 00 09 18 16 00 ef 01 40 00 00 3f 20 f0 01 02 00 00 00 00 00 00 e4 c1 c1 df 40 02 00 c0 02 00 09 79 09 04 c7 01 e1 4e 02 3f 00 f0 01 01 00 00 00 00 00 00 d9 25 c2 c1 df 40 02 00 c0 03 00 09 02 19 25 3c 00 22 6a 01 db 09 f0 04 05 00 00 00 00 00 00 62 67 c2 c1 df 40 02 00 c0 04 00 09 02 19 25 3c 00 22 6a 01 db 09 f0 01 07 00 00 00 00 00 00 ec a8 c2 c1 df 40 02 00 c0 05 00 13 7b 06 04 a4 0d 91 0c b6 c4 4e 02 3f 00 01 00 00 00 00 00 00 f0 01 08 00 00 00 00 00 00 6b 13 c3 c1 df 40 02 00 c0 06 00 13 7b 2b 04 93 0d 43 13 b6 c4 2e 00 3f 00 01 00 00 00 00 00 00 0 0 09 00 00 00 00 00 00 e9 7d c3 c1 df 40 02 00 c0 07 00 13 7b 4f 04 d6 0d 2e fc b5 c4 2e 00 3f 00 01 00 00 00 00 00 f0 01 05 00 00 00 00 00 68 e8 c3 c1 df 40 02 00 c0 08 00 13 7b 55 04 ca 0d 7b 10 b6 c4 29 00 3f 00 01 00 00 00 00 00 00 f0 01 06 00 00 00 00 00 00 e7 52 c4 c1 d f 40 02 00 c0 09 00 13 7b 46 04 f1 0d c5 15 b6 c4 2e 00 3f 00 01 00 00 00 00 00 00
我希望每当我找到f0
后跟01
后跟01
复制这些模式以及之后的任何内容,直到下一个f0
等等,直到我拥有所有具有这些序列的模式
并将其保存在文件中
每当我发现f0
后跟01
后跟02
复制这些模式及其后的任何内容直到下一个f0
依此类推,直到我拥有所有具有这些序列的模式
并将其保存在另一个文件中
以及f0
01
03
直到f0
01
09
这是我尝试做的事情
String filename = "C:\\tm09888.123";
FileInputStream in = null;
int readHexFile = 0;
char hexToChar = ' ';
String[] bytes = new String[10];
try
{
in = new FileInputStream(filename);
while((readHexFile = in.read()) != -1)
{
if (Integer.toHexString(readHexFile).equals("f0"))
{
System.out.print("\n\n\n");
}
System.out.print(Integer.toHexString(readHexFile) + " ");
}
}
catch (IOException ex)
{
Logger.getLogger(NARSSTest.class.getName()).log(Level.SEVERE, null, ex);
}
}
我从f0
拆分了所有模式,但我怎么能告诉程序要关注f0
01
01
然后将所有这些模式保存在另一个文件中
答案 0 :(得分:0)
我建议你研究一下regular expressions。它们是搜索数据模式的有效方式,因此它们非常适合您在此处尝试完成的任务。您可以使用它们搜索文件“f0 0\d 0\d
”并获取所有值,但不包括下一个“f0 0\d 0\d
”块。