Необходимо построчно обработать файл. Основная проблема заключается в том, что нужна вся строка целиком, то есть символы переноса строки, каретки должны остаться. Но в тоже время предполагается, что файлы могут быть очень большими, из-за чего может не хватить памяти. Как это оптимально можно реализовать?
([StreamReaderObj].ReadLine() - возвращает строку не полностью (без символов конца строки), File.ReadAllText and etc. - память)
upd: Мне важно знать какой у конкретной строки перенос(\r\n or \n)
Нашел код в интернете который расширяет бинари ридер и немного его изменил под нужды автора вопроса:
public static class BinaryReaderExtension
{
public static String ReadLine(this BinaryReader reader)
{
var result = new StringBuilder();
bool foundEndOfLine = false;
char ch;
while (!foundEndOfLine)
{
try
{
ch = reader.ReadChar();
}
catch (EndOfStreamException ex)
{
if (result.Length == 0) return null;
else break;
}
result.Append(ch);
switch (ch)
{
case '\r':
if (reader.PeekChar() == '\n') reader.ReadChar();
foundEndOfLine = true;
break;
case '\n':
foundEndOfLine = true;
break;
}
}
return result.ToString();
}
}
Изменения я не тестировал, так что может что-то пойти не так...)
Но, возможно, код и полностью рабочий.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужно дописать запрос insert into в c#Есть два текст бокс и бд access