Имеется текстовый файл содержащий всего одну строку, но размер файла 1 Гб. Каким образом прочитать файл целиком? File.ReadAllLines, File.ReadLines, File.ReadAllText завершаются с ошибкой о недостаточности памяти. На выходе нужно получить строку (объект типа string) с содержимым из файла. Файл одно строчный, но строка очень длинная.
Ответ
Нашел подробное описание причин этой ошибки вот здесь: ссылка.
Всем спасибо за помощь, в данный момент использую такой код:
char[] buffer = new char[104857600];
string text = "";
FileStream fstream = new FileStream("document.txt", FileMode.Open, FileAccess.Read);
using (var sr = new StreamReader(fstream))
{
int bytesRead = 0;
while ((bytesRead = sr.Read(buffer, 0, buffer.Length)) > 0)
{
text = new string(buffer);
// обработка текста
}
}
Комментариев нет:
Отправить комментарий