
Разбирането и обработката на текстови файлове е решаваща задача във всяка форма на разработка. По този начин четенето на текстов файл в списък от низове е често срещан сценарий в програмирането на C#. Тази операция може да бъде полезна в безброй ситуации, като например управление на потребителски данни, анализиране на конфигурационни файлове или дори обработка на прости операции с бази данни. По време на нашата дискусия ще използваме някои основни C# библиотеки, а именно библиотеката System.IO, за извършване на операции за обработка на файлове.
C# предлага множество методи за обработка на операции с текстови файлове. В този случай обаче ще се съсредоточим основно върху използването на StreamReader клас и досие клас за целта.
Клас StreamReader и метод ReadToEnd
- StreamReader клас е част от библиотеката System.IO в C#. Той позволява на приложението да чете знаци от поток от байтове в определено кодиране. Комбинирането на тази функционалност с ReadToEnd метод, можем да четем от текстов файл ред по ред, докато не бъде достигнат краят на файла.
използване на System.IO;
...
списък
използвайки (StreamReader sr = нов StreamReader(“filename.txt”))
{
низ линия;
докато ((линия = sr.ReadLine()) != нула)
{
линии.Добавяне(ред);
}
}
Списък и неговата полезност в C#
Докато работите с множество елементи от данни от един и същи тип, или в нашия случай, множество редове от текстов файл, списък е изключително ефективна и гъвкава структура от данни. Той представлява строго типизиран списък от обекти, които могат да бъдат достъпни чрез индекс.
Списъкът предлага няколко метода, които улесняват извършването на общи операции като добавяне на елементи, премахване на елементи или намиране на елементи, както е показано в кодовия фрагмент по-горе.
Метод File.ReadAllLines
Друг лесен начин за зареждане на текстов файл в списък от низове е чрез използване на ReadAllLines метод от досие клас в System.IO. Методът чете всички редове на файл и връща цялото текстово съдържание на файла като масив от низове. Можем лесно да конвертираме този масив в списък от низове, ако е необходимо.
използване на System.IO;
...
списък
Чрез горната дискусия проучихме различни начини за зареждане на текстов файл в списък от низове, използвайки вградена функционалност в C#. От използването на стабилния клас StreamReader до удобния клас File, видяхме как овладяването на мощността на библиотеката System.IO може да рационализира и опрости обичайните задачи за работа с файлове в програмирането на C#.