Как я могу прочитать файл такого формата C#
хорошо при проверке файла я пытаюсь получить из него имена постоянно терпит неудачу потому что он не доходит до части имени но отладка выплевывает это
"r\0\0\0�\0\0\0\0+\u0001\u0001\0\0\0\0\0\u0002 \b\u0004\0\0\0\0\u0001\0\u0001\0\0\0\0\0@\0\0\u0004\0\0(e�\u0012\b\f\0\0\0\u0002\0\u0001\0l\0\0\0@\0\0\0X\0\0\0�\0\0\0\v\u0002\0\0�\0\0\0�\0\0\0\u0001\u0005\0\0�\0\0\0�\0\0\0\0\0�?\0\0�?\0\0�?\0\0�?tools\0lightgrid_volume\0lightgrid_volume\0colorMap\0normalMap\0$identitynormalmap\0colorTint\0"
и я не уверен как я читаю этот файл я изо всех сил стараюсь получить код который говорит lightgrid_volume и другие вещи в этой части я сделал регулярное выражение часть
public void findmaterialname() { Regex regex = new Regex(@"(.+)(tools)(\\[0-9a-z_]+\\)([0-9A-Z_a-z]+)", RegexOptions.Singleline); // (.+)(tools)(\\[0-9a-z_]+\\)([0-9A-Z_a-z]+) selects all stuff to tools then is meant to get the other lines but refues // ([a-z_0-9]+_c\s)(colorMap) ment to select the path and then link with colour map // output should be 0lightgrid_volume\0colorMap use grop 3 for this colour map refence using (StreamReader reader = new StreamReader(@"F:\world_at_war_with_nuketown\Call of Duty - World at War\raw\materials\" + mattofind)) { string line; while ((line = reader.ReadToEnd())!= "") { // Try to match each line against the Regex. Match match = regex.Match(line); if (match.Success) { // Write original line and the value. string v = match.Groups[4].Value; MessageBox.Show(v); } } } }
но в настоящее время у меня есть проблемы
https://i.imgur.com/CAx4fhs.png[^]
Что я уже пробовал:
regex и tryied с помощью binaryreader, но regex и binaryreader не хотят играть со мной в мяч.
Dave Kreskowiak
Регулярное выражение не поможет вам в этом случае. Регулярное выражение работает со строками и текстом, а не с двоичными данными.