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.

462 Въведение в програмирането със C#<br />

- Внимавайте с метода за четене на байтове FileStream.Read( byte[]<br />

buffer, int offset, int count). Този метод може да прочете помалко<br />

байтове, отколкото сте заявили. Колкото байта прочетете от<br />

входния поток, толкова трябва да запишете. Трябва да<br />

организирате цикъл, който завършва при връщане на стойност 0 за<br />

броя прочетени байтове.<br />

- Използвайте using, за да затваряте коректно потоците.<br />

Записването на масив от байтове във файл е далеч по-проста задача.<br />

Отворете FileStream и започнете да пишете в него байтовете от<br />

MemoryStream. Използвайте using, за да затваряте потоците правилно.<br />

Накрая тествайте с някой много голям ZIP архив (например 300 MB).<br />

Ако програмата ви работи некоректно, ще счупвате структурата на<br />

архива и ще се получава грешка при отварянето му.<br />

11. Наследете класа Exception и добавете подходящ конструктор,<br />

например FileParseException(string message, string filename, int<br />

line). След това ползвайте вашето изключение както ползвате за<br />

всички други изключения, които познавате. Числата можете да четете<br />

с класа StreamReader.<br />

12. Потърсете всички възможни изключения, които възникват в следствие<br />

на работата на метода и за всяко от тях дефинирайте catch блок.<br />

13. Потърсете в Интернет статии на тема изтегляне на файл от C#. Ако се<br />

затруднявате, потърсете информация и примери за използване<br />

конкретно на класа WebClient. Уверете се, че прихващате и обработвате<br />

правилно всички изключения, които могат да възникнат.

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

Saved successfully!

Ooh no, something went wrong!