Если вы хотите найти определенные шестнадцатеричные значения из файла, который вы читаете с буфером, и в конечном итоге разобрать фрагмент кода в выходной файл, что это лучший способ сделать это? Я не ищу пример кода.При чтении двоичного файла с java, как?
Это очень большой файл с несколькими разборками. Должен ли я читать все это в массив? Какой массив? Это будет зависеть от того, что было бы лучше всего для поиска шестнадцатеричных значений, которые я ищу, и я не уверен, как вы будете искать шестнадцатеричное значение в java.
Как вы это сделаете?
EDIT: полная последовательность событий.
«Извините, да, я думаю, это было бы странно. Полное объяснение: что произойдет, это поиск по шаблону байтового маркера. Найдите его, затем я буду иметь дело с следующими 1035 байтами. 12-й и 13-й байт значение, которое мне нужно для проверки, а также 1034-го и 1035-го байтов для другой проверки. Байт 14 - это начало 1016 байт, которые мне нужно проанализировать в файле.
Последовательность событий должна быть: проверьте, проверите вторую проверку, проверьте. Если эти проверки не позволяют записать определенное значение байта в выходной файл (как флаг). Если они хороши, напишите 1016 байт в выходной файл. "
Извините, что я думаю, это было бы непонятно. Полное объяснение. Что произойдет, так это поиск по шаблону байта маркера. Найди это. Затем я буду заниматься следующими 1035 байтами. 12-й и 13-й байты - это значение, которое мне нужно для проверки, а также 1034-го и 1035-го байтов для другой проверки. Байт 14 - это начало 1016 байт, которые мне нужно проанализировать в файле. Последовательность событий должна быть: сначала проверьте, проверьте. Получите вторую проверку, проверьте. Если эти проверки не позволяют записать определенное значение байта в выходной файл (как флаг). Если они хороши, напишите 1016 байт в выходной файл. –
Да. Вы можете использовать приведенный выше код. Когда вы найдете маркер, выйдите из цикла, прочитайте следующие 2000 байт или все, что вам нужно, для вашей синтаксической работы, идите в город. Возможно, вам придется добавить последний байт [4096] (или два) к вашей рабочей копии (System.arraycopy), потому что он часто содержит байты в дополнение к маркеру. Кстати, я любил твою работу в «Full House». – Keith