Студопедия

КАТЕГОРИИ:


Архитектура-(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)

ByteArrayOutputStream класы




ByteArrayInputStream класы

FileOutputStream класы

FileInputStream класы

FileInputStream класы файлдардан деректерді енгізу үшін қолданылады. Төмендегі мысалда "/autoexec.bat" атты бір дискілік файлды қолданатын осы кластың екі объектісін құру көрсетілген:

1) InputStream f0 = new FileInputStream("/autoexec.bat");

2) File f = new File("/autoexec.bat");

InputStream f1 = new FileInputStream(f);

FileInputStream класының объектісі құрылған кезде, ол бір уақытта оқу үшін де ашылады. FileInputStream класы InputStream абстрактті класының алты әдісін алмастырады. Бұл класс объектілеріне mark() және reset() әдістерін қолдануға болмайды, өйткені IOException ерекше жағдайын туындатады.

 

 

FileOutputStream класында да FileInputStream класындағыдай екі конструктор бар, алайда бұл кластың объектілерін файлдың бар-жоғына қарамастан құруға болады. Жаңа объектіні құрған кезде FileOutputStream класы шығаруға арналған файлды ашудың алдында алдымен оны құрады.

Мысалы, f1, f2объекттерін құру үшін конструкторлардың жазылуы:

1) OutputStream f1 = new FileOutputStream("file1.txt");

2) File f = new File("file2.txt");

OutputStream f2 = new FileOutputStream (f);

Ескерту. Файл соңына деректерді қосып жазу үшін FileOutputStream класын ашуға болмайды. Егер FileOutputStream класының конструкторы арқылы файлды ашса, онда файлдың бұрынғы ішіндегілері жоғалып кетеді.

 

 

 

ByteArrayInputStream класы – бұл енгізу көзі ретінде byte типіндегі массивті қолданатын кірістік ағынның іске асуы. Бұл кластың екі конструкторы бар, олардың әрқайсысы бірінші параметр ретінде байттық массивті талап етеді.

 

ByteArrayOutputStream класында да – екі конструктор бар. Бірінші конструктор ұзындығы 32 байт болатын буферді құрады:

OutputStream out1 = new ByteArrayOutputStream();

Екінші конструктор құратын буфердің ұзындығы конструктордағы параметр арқылы (мысалы,1024 байт) көрсетіледі:

OutputStream out2 = new ByteArrayOutputStream(1024);

8.7 Фильтрленген ағындар. Қарапайым типтер ағындары.

 

Фильтрленген (сүзгіленген) ағындар кластарына 4 класс жатады: FilterWriter, FilterReader, FilterInputStream және FilterOutputStream. Бұл кластардың барлық конструкторлары мен әдістері InputStream мен OutputStream кластарындағы конструкторлар мен әдістерге ұқсас, алайда фильтрленген ағындар кластарының жалғыз айырмашылығы – олардың әдістері синхрондалады. FilterReader класының ұрпақ класы − PushbackReader.

FilterInputStream класынан үш класс тарайды:

1) DataInputStream класы – деректерді базалық типке түрлендіреді;

2) BufferedInputStream класы – буферленген ағындар;

3) PushbackInputStream класы – оқыған символды кіру ағынына кері қайтарады.

Javaда қарапайым (базалық) типтер ағындарымен жұмыс істейтін DatalnputStream және DataOutputStream кластары бар.

 

8.8 Буферленген енгізу-шығару ағындары

Файлдық енгізу-шығару кластары буферлеумен шұғылданбайды. Буферлеуге арналған төрт арнайы BufferedReader, BufferedWriter, BufferedInputStream және BufferedOutputStream атты кластар бар.

Буферленген ағындар фильтрленген ағындар кластарының кеңейтілімі болып табылады (BufferedInputStream класы − FilterInputStream класының ұрпағы), оларға жадтағы буфер қосылады. Бұл буфер екі негізгі функцияны атқарады:

1) Java орындаушы ортасына бір орындағанда бір байттан артық енгізу-шығару операцияларын жасауға мүмкіндік береді, сол арқылы Java орындаушы ортасының өнімділігін арттырады;

2) ағында буфер бар болғандықтан, ағындағы деректерді өткізіп жіберу, белгілер қою және буферді тазарту сияқты операцияларды орындау мүмкін болады.

 




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


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


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



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




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