如何在二进制文件中的范围偏移之间进行搜索?

时间:2016-02-07 22:02:32

标签: java arrays

我试图在二进制文件中的一系列偏移之间进行搜索。我已经将bin文件作为字节数组[]加载,然后将其内容编码为String,稍后我用它来搜索String序列。问题是我需要进行搜索,但只能在我输入的偏移范围内(开始和结束)...并且还使用不同的字符串序列进行搜索,所以打印给我这样的东西:

0x180 30
0x240 17
0x350 30
0x464 30
0x650 17

现在我自己得到30个所有序列。

这是我的代码:

byte[] model = Read.readBytesFromFile();

String x = HexBin.encode(model);
String v30 = "05805A6C";
String v17 = "0580336C";

String beg = txtBeg.getText().toString();
int beg2 = Integer.parseInt(beg);
int start = (model.length + beg2) - model.length;

String end = txtEnd.getText().toString();
int end2 = Integer.parseInt(end);
int ending = (model.length + end2) - model.length;

int index = 0;

if (x.contains(v30)
{

    if (cbxVer.isSelected()) {
        while ((index = x.indexOf(v30, index)) != -1) {
            System.out.println("0x" + (Integer.toHexString((index / 2) + 4)) + " 30");
            index = index + 2;
        }

    }
} else {
    JOptionPane.showMessageDialog(rootPane, "Wrong File");
}

0 个答案:

没有答案