Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Глава 15. Текстови файлове 633<br />
Стандартът Unicode. Четене на Unicode<br />
Unicode представлява индустриален стандарт, който позволява на компютри<br />
и други електронни устройства винаги да представят и манипулират<br />
по един и същи начин текст, написан на повечето от световните<br />
писмености. Той се състои от дефиниции на над 100 000 символа, както и<br />
разнообразни стандартни кодиращи схеми (encodings). Обединението на<br />
различните символи, което ни предлага Unicode, води до голямото му<br />
разпространение. Както знаете, символите в C# (типовете char и string)<br />
също се представят в Unicode.<br />
За да прочетем символи, записани в Unicode, трябва да използваме някоя<br />
от поддържаните в този стандарт кодиращи схеми. Най-известен и широко<br />
използван е UTF-8. Можем да го зададем като кодираща схема по вече<br />
познатия ни начин:<br />
StreamReader reader = new StreamReader("test.txt",<br />
Encoding.GetEncoding("UTF-8"));<br />
Ако се чудите дали за четене на текстов файл на кирилица да ползвате<br />
кодиране Windows-1251 или UTF-8, на този въпрос няма ясен отговор. И двата<br />
стандарта масово се ползват за записване на текстове на български език.<br />
И двете кодиращи схеми са позволени и може да ги срещнете.<br />
Писане в текстов файл<br />
Писането в текстови файлове е много удобен способ за съхранение на<br />
различни видове информация. Например, можем да записваме резултатите<br />
от изпълнението на дадена програма. Можем да ползваме текстови<br />
файлове, например направата на нещо като дневник (log) на програмата –<br />
удобен начин за следене кога се е стартирала, отбелязване на различни<br />
грешки при изпълнението и т.н.<br />
Отново, както и при четенето на текстов файл, и при писането, ще използваме<br />
един подобен на конзолата клас, който се нарича StreamWriter.<br />
Класът StreamWriter<br />
Класът StreamWriter е част от пространството от имена System.IO и се<br />
използва изключително и само за работа с текстови данни. Той много<br />
наподобява класа StreamReader, но вместо методи за четене, предлага<br />
такива за записване на текст във файл. За разлика от другите потоци,<br />
преди да запише данните на желаното място, той ги превръща в байтове.<br />
StreamWriter ни дава възможност при създаването си да определим<br />
желания от нас encoding. Можем да създадем инстанция на класа по<br />
следния начин:<br />
StreamWriter writer = new StreamWriter("test.txt");