C # Byte [] Поиск смещения массива в файле 4 ГБ - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть приложение, которое должно заменить определенные байтовые массивы (все вхождения) в файле 4 ГБ (например, HxD), и я хотел бы помочь в этом поиске смещений, мне нужна функция, которая ищет (быстро) в большом file (4gb) и вернуть десятичное смещение этого байтового массива, чтобы я мог его заменить (у меня уже есть метод replace, мне просто нужно получить десятичное смещение каждого байтового массива). Спасибо за чтение этого! PS: извините за мой английский.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Не нашел решения, которое соответствует мне, я попробовал решение Dour High Arch, я не могу использовать два потока, потому что хочу перезаписать файл. и для вас, Дилан Николсон, я не нашел, как использовать эти функции ...

0 голосов
/ 06 ноября 2018

Я бы посмотрел на MemoryMappedFile.CreateFromFile Метод - затем вы можете создать MemoryMappedViewStream и создать буферизованный поток для использования, чтобы помочь найти массив. В этом посте есть некоторые предложения по выполнению последней части: Лучший способ найти позицию в потоке, где начинается данная последовательность байтов .

...