25.07.2017 Views

Intro-CSharp-Book-v2015

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");

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!