14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

чт<strong>е</strong>ни<strong>е</strong> и запись файлов<br />

.NET использу<strong>е</strong>т Unicode для хран<strong>е</strong>ния симВолоб и т<strong>е</strong>кста<br />

Т и п ы , хр а н я щ и <strong>е</strong> т<strong>е</strong> к с т и сим волы , — s t r i n g и c h a r — в пам я ти х р а н я т<br />

и н ф о р м а ц и ю в Ю н и к о д <strong>е</strong> . П р и записи д а н н ы х в ф айл с о х р а н я ю тся сим-<br />

волы Ю н и к о д . С оздайт<strong>е</strong> н о в ы й п р о <strong>е</strong> кт, п о с тр о й т<strong>е</strong> ф орм у с тр <strong>е</strong> м я кноп-<br />

кам и, ч т о б ы п о см о тр <strong>е</strong> ть н а р аботу м <strong>е</strong>тодов F i l e . W r i t e A l l B y t e s {) и<br />

R e a d A l I B y t e s () и понять, как и м <strong>е</strong>н н о осущ <strong>е</strong>ствля<strong>е</strong>тся зап ись в ф айл. _ ^ ^ у Т ) . Р а Ж Н 0 Н и 0<br />

/ ^ ^ Ф<br />

^ Запиш <strong>е</strong>м в ф айл обычную строку и прочита<strong>е</strong>м <strong>е</strong><strong>е</strong>.<br />

В оспользуйт<strong>е</strong>сь м <strong>е</strong>тодом W r i t e A l l T e x t { ) , ч т о б ы заставить п <strong>е</strong> рвую к н о п к у записы вать<br />

с тр о к у «Eureka!» в ф айл «eureka.txt». Зат<strong>е</strong>м создайт<strong>е</strong> массив байто в e u r e k a B y t e s , п р о ч и ­<br />

та й т<strong>е</strong> в н <strong>е</strong> го из ф айла и вы в<strong>е</strong>дит<strong>е</strong> п о л у ч <strong>е</strong> н н ы й р<strong>е</strong>зультат:<br />

F i l e . W r it e A llT e x t ( " e u r e k a . t x t " , "E u reka!" );<br />

b y t e [ ] e u r e k a B y te s = F i l e .R e a d A l l B y t e s ( " e u r e k a .t x t " ) ;<br />

f o r e a c h (b y te b i n e u r e k a B y te s) ^ М<strong>е</strong>тод R e a d A llB y te s Q возвраща<strong>е</strong>т ^<br />

c o n s o l e w r i t e (" f 0 ) " b) ■ V сш лку на новш массив, с^<strong>е</strong>ржащии<br />

C o n s o l e . w r i t e ( 10} , ) , Saumbi, п р о ч и т а н н ы <strong>е</strong> и з ф а й л а .<br />

C o n s o le .W r ite L in e O ;<br />

Н а КО Н С О Л Ь буд<strong>е</strong>т вы в<strong>е</strong>д<strong>е</strong>но: 6 9 117 114 lO i 107 97 3 3 . Н о <strong>е</strong>сл и открыть файл в прилож<strong>е</strong>нии<br />

Simple Text Editor, вы уви ди т<strong>е</strong> строку «Eureka!»<br />

О П усть вторая кнопка отобража<strong>е</strong>т байты в ш <strong>е</strong>стнадцат<strong>е</strong>ричной сист<strong>е</strong>м <strong>е</strong>.<br />

Ч и сла в это й сист<strong>е</strong>м<strong>е</strong> показы ваю тся н<strong>е</strong> то л ько в п р и л о ж <strong>е</strong> н и и C haracter М ар, поэтом у им <strong>е</strong><strong>е</strong>т<br />

смысл научиться с н и м и работать. К од обработчика со б ы ти й для в то р о й к н о п к и долж <strong>е</strong>н о т­<br />

личаться м<strong>е</strong>тодом C o n s o l e . W r it e ( ) , для к о то р о го напиш ит<strong>е</strong>:<br />

гопчпТр W r it e ( " f 0 -x 2 ) " Ь) ■ с и с т <strong>е</strong> м <strong>е</strong> ы т о л ь з у к )т с я числа<br />

C o n s o le .w r it e ( I 0 .X 2 ) ' от о до я и буквы от А до F. Так 6 8 рябно 1 0 7 . ^<br />

В и т о г<strong>е</strong> м <strong>е</strong>то д W r i t e O буд<strong>е</strong>т вы водить п ар ам <strong>е</strong>тр О (п <strong>е</strong>рв ы й п о сл <strong>е</strong> в ы в оди м ой с т р о к и )Л<br />

в ви д<strong>е</strong> кода. П о эт о м у вы у в и ди т<strong>е</strong> с<strong>е</strong>м ь байтов: 45 75 72 65__6Ь 61 21^1—-------------------- ---------<br />

о А тр<strong>е</strong>тья кнопка должна выводить буквы <strong>е</strong>вр<strong>е</strong>йского алдювита<br />

В <strong>е</strong> р н и т<strong>е</strong> сь в Таблицу сим волов (C h a ra cte r М а р ) и дважды щ <strong>е</strong>лкнит<strong>е</strong> на сим вол<strong>е</strong> S hin, ч т о ­<br />

б ы добавить <strong>е</strong>го в пол<strong>е</strong>. П род<strong>е</strong>лайт<strong>е</strong> это для оста л ьн ы х сим волов в слов<strong>е</strong> «Shalom»: L am ed<br />

(U + 0 5 D C ), Vav (U +05D 5) и M e m (U-t-05DD). В код об р а б о тчика с о б ы ти й для тр <strong>е</strong> ть<strong>е</strong>й к н о п к и<br />

добавьт<strong>е</strong> ско п и р о в а н н ы <strong>е</strong> буквы и добавьт<strong>е</strong> парам <strong>е</strong>тр E n c o d i n g . U n ic o d e :<br />

F i l e .W r it e A l l T e x t ( " e u r e k a .tx t" , "Ш *?Ш" , E n c o d in g .U n ic o d e ) ;<br />

О б р а ти л и вним а н и <strong>е</strong> на обратный порядок букв посл<strong>е</strong> вставки? Д <strong>е</strong>ло в то м , ч т о <strong>е</strong> вр<strong>е</strong>йски <strong>е</strong><br />

слова ч и та ю тс я справа нал<strong>е</strong>во. З апустит<strong>е</strong> код и п о с м о тр и т<strong>е</strong> на п о л у ч <strong>е</strong> н н ы й р<strong>е</strong>зультат: f f<br />

f e <strong>е</strong>9 05 dc 05 d5 05 dd 0 5 . П <strong>е</strong> р в ы <strong>е</strong> два сим вола — «FF ЕЕ», Ч Т О означа<strong>е</strong>т с тр о ку из двухб<br />

а й то в ы х сим волов. О ста л ьны <strong>е</strong> б а й ты пр<strong>е</strong>дста вл яю т со б о й буквы <strong>е</strong> в р <strong>е</strong> й ского алф авита, -<br />

н о п <strong>е</strong> р <strong>е</strong> в<strong>е</strong>рнуты <strong>е</strong>, та к U +05E 9 буд<strong>е</strong>т показано как <strong>е</strong>9 05. Н о <strong>е</strong>сли о т к р ы т ь ф айл в ваш<strong>е</strong>м<br />

п р и л о ж <strong>е</strong> н и и S im p le T ext E d ito r, вс<strong>е</strong> буд<strong>е</strong>т вы гляд<strong>е</strong>ть п р а в и л ьн о !<br />

дальш<strong>е</strong> ► 435

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

Saved successfully!

Ooh no, something went wrong!