Я использую код ниже, чтобы читать ~ 2,5 ГБ XML-файл так быстро, как я могу (благодаря MemoryMappedFile).Однако я получаю следующее исключение: " '.', Шестнадцатеричное значение 0x00, является недопустимым символом. Строка 9778, позиция 73249406. ".Я полагаю, это связано с проблемой кодирования.Как мне убедиться, что MemoryMappedViewStream читает файл с использованием UTF-8?
static void Main(string[] args)
{
using (var file = MemoryMappedFile.CreateFromFile(@"d:\temp\temp.xml", FileMode.Open, "MyMemMapFile"))
{
using (MemoryMappedViewStream stream = file.CreateViewStream())
{
Read(stream);
}
}
}
static void Read(Stream stream)
{
using (XmlReader reader = XmlReader.Create(stream))
{
reader.MoveToContent();
while (reader.Read())
{
}
}
}