Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

SequenceInputStream класы




StringBufferInputStream класы

PushbackInputStream класы

BufferedOutputStream класы

BufferedInputStream класы

 

BufferedInputStream. Енгізу-шығаруды буферлеу – бұл енгізу-шығару операцияларын тиімділеудің жаппай қабылданған тәсілі. Javaда BufferedInputStream класы InputStream класының кез келген объектісін буферленген ағынмен «қоршап алуға» және осы арқылы өнімділікке жетуге мүмкіндік береді.

BufferedOutputStream класыныңобъектісіне шығару кез келген OutputStream кластарындағышығаруларға ұқсас, тек айырмашылығы – жаңа ішкі класта қосымша flush() әдісі бар, ол буферді мәжбүрлеп тазарту үшін және онда сақталатын ақпаратты сыртқы құрылғыға физикалық шығару үшін қолданылады.

PushbackInputStream. Буферлеудің ерекше қолданысының бірі – pushback (кері қайтару) операциясының іске асуы. PushbackInputStream-ге символды оқып болған соң, символды кіру ағынына кері қайтару үшін қолданылады. Алайда, PushbackInputStream класының мүмкіндіктері шектеулі – бір символдан артық символдарды ағынға кері қайтару IOException ерекше жағдайын туындатады.

 

 

 

StringBufferInputStream класы ByteArrayInputStream класына ұқсас, айырмашылығы – бұл класс объектісінің ішкі буфері байттық массив емес, String экземпляры болады. Бұған қоса, Javaда оған сәйкес келетін StringBufferOutputStream деген класс жоқ.

 

 

SequenceInputStream класы бірнеше кірістік ағындардың бір ағынға бірігуін іске асырады.

 

8.10 Стандартты ағындар

Java қолданбасына әрқашан ашық болатын үш стандартты ағын қолжетімді:

· енгізудің стандартты ағыны;

· шығарудың стандартты ағыны;

· қателер туралы хабарламаларды шығарудың стандартты ағыны.

Бұл аталған ағындардың барлығы System класының сәйкесінше статикалық in, out және err өрістері арқылы анықталған:

· public static InputStream in;

· public static PrintStream out;

· public static PrintStream err;

Сәйкесінше олар стандартты енгізу (stdin), стандартты шығару (stdout) және стандартты хабарламалар шығару (stderr ) деп аталады. Бұл стандартты ағындар нақты енгізу-шығару құрылғыларымен байланысты болады.

in ағыны − InputStream класының статикалық объектісі ретінде анықталған, InputStream абстрактты класс болғандықтан, оның нақты ішкі кластары қолданылады. Бұл in ағыны тек деректерді енгізуге арналған қарапайым әдістерден тұрады, мысалы: пернетақта арқылы деректерді консольден енгізу. Соның ішінде ең қажеттісі − read әдісі, ол ағыннан деректерді массивке оқиды:

public int read(byte b[]);

Оқылған деректер саны массив өлшемімен, яғни, b.length() мәнімен анықталады. Әдістің нәтижесі массивке оқылған байттар саны немесе егер ағын бітіп қалса, -1 болады. Қате болғанда, IOException жағдайы туындайды, сондықтан оны программада алдын ала ескеру қажет.

out және err ағындары − бұлар PrintStream класының объекттері, шығыстық байттардың ағынын жасайды. Консольге print (), println () және write () әдістері арқылы ақпарат шығарады.

err ағыны − программаның жүйелік хабарламаларын шығаруға арналған, мысалы: трассировка, қателер туралы, программаның қандай да бір кезеңінің орындалғаны туралы. Әдетте, мұндай мәліметтер арнайы журналға, log-файлдарға жазылады, консольге шығарылмайды. Java тілінде ағынның бағытын ауыстыратын құралдар бар, мысалы: консольден файлға жіберу.

 

 

8.11 Консольдық енгізу-шығару. PrintStream және PrintWriter кластары

Консольдық енгізу-шығару. Осыған дейін консольге шығару үшін PrintStream класының println() әдісін қолданып келдік. Ол үшін, мысалы, System.out. println(“жол”); деп жазып, PrintStream класының объектісі болып табылатын System класының статикалық out өрісін қолдандық. Java орындаушы жүйесі бұл өрісті консольмен байланыстырады.

Консоль байттық құрылғы болғандықтан, Unicode символдарын консольге шығармас бұрын байттарға түрлендіру қажет. Мысалы, кириллица кодтауы Unicode кодтауының \u0400' —'\u04FF' аралығында жатыр, компьютердегі локальге сәйкес кодтық кесте бойынша түрлендіру жасалады.

Ескерту. java.lang дестесіндегі System класының public static спецификаторларымен жарияланған InputStream in, PrintStream out, err өрістері (стандартты енгізу, шығару және қатені шығару ағындары) консольмен тікелей байланысты., оларды басқа құралдарға бағыттауға болмайды.

Қазіргі кезде консольдық енгізу үшін байттық емес, символдық ағын қолданылады. Бұл жағдайда енгізу үшін Reader абстрактты класының ішкі класы BufferedReader, сонымен қатар символдар мен жолдарды оқуға арналған read() және readLine() әдістері қолданылады.

PrintStream класы. PrintStream класы ағынды буферлейді. PrintStream класының екі конструкторы бар:




Поделиться с друзьями:


Дата добавления: 2015-07-13; Просмотров: 682; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.