Я работаю над программой C#, чтобы определить длину строки для каждой строки в нескольких больших текстовых файлах с более чем 100 000 строк перед импортом с использованием пакета SSIS. Я также буду проверять другие значения в каждой строке, чтобы убедиться, что они верны, прежде чем импортировать их в мою базу данных с помощью SSIS.
Например, я ожидаю длину строки в 3000 символов, затем CR в 3001 и LF в 3002, так что всего 3002 символа.
При использовании ReadLine() он считывает CR или LF как конец строки, поэтому я не могу проверить символы CR или LF. Я просто проверял длину линии на 3000, чтобы определить, была ли она правильной. Я только что столкнулся с проблемой, когда файл имеет LF в позиции 3001, но отсутствует CR. Итак, ReadLine() говорит, что это 3000 символов, ведь это правильно, но в моем пакете SSIS произойдет сбой, потому что в нем отсутствует CR.
Я проверил, что Read() будет достигать каждого символа 1 за раз, и я могу определить, имеет ли каждая строка CR и LF, но это кажется довольно непродуктивным, и когда некоторые файлы, с которыми я столкнусь, имеют более 5 000 000 строк, это кажется очень неэффективный. Мне также нужно будет затем добавить каждый символ в строку или использовать ReadBlock() и преобразовать массив символов в строку, чтобы я мог проверить другие значения в строке.
Есть ли у кого-нибудь какие-либо идеи относительно эффективного способа проверки строки на наличие CR и LF и других значений в данной строке, не тратя ненужных ресурсов и заканчивая относительно своевременно.