Чтение последней пустой строки файла

Рейтинг: 0Ответов: 1Опубликовано: 12.05.2023

Всем привет. Есть метод, который построчно считывает заданный пользователем текстовый файл (с числовыми строками) и передает в другой метод для дальнейшей обработки.

private void ReadFile()
        {
            using (StreamReader streamReader = new StreamReader(_filePath))
            {
                string fileLine = "";
                int lineNumber = 0;
                
                while ((fileLine = streamReader.ReadLine()) != null )
                {
                    lineNumber++;
                    ParseLine(fileLine, lineNumber);
                }
            }
        }

Вопрос в пустой строке в файле. Если она не последняя она считывается успешно, но последняя строка не читается. Как можно сделать, чтобы цикл while пропускал последнюю пустую строку ?

введите сюда описание изображения

Ответы

▲ 0

Вы можете пропускать итерации с пустыми строками.

К примеру:

private void ReadFile()
{
    using (StreamReader streamReader = new StreamReader(_filePath))
    {
         string fileLine = string.Empty;
         int lineNumber = 0;
                
         while ((fileLine = streamReader.ReadLine()) != null )
         {
            if (string.IsNullOrEmpty(fileLine))
                continue;

            lineNumber++;
            ParseLine(fileLine, lineNumber);
         }
    }
}