Ток је непрекидан ток података. У Јави И/О токови се користе за читање из улазних извора или уписивање на излазна одредишта као што су датотеке. Они пружају начин за секвенцијални приступ подацима. Пакет јава.ио укључује класе за руковање и токовима бајтова и знакова, као и за конверзију између њих.
- Улазни ток: чита податке из извора.
- Излазни ток: уписује податке на одредиште.
Када користити ток знакова преко бајтова:
У Јави знакови се чувају користећи Уницоде конвенције. Ток знакова је користан када желимо да обрадимо текстуалне датотеке. Ове текстуалне датотеке се могу обрадити карактер по карактер. Величина карактера је обично 16 бита.
Када користити бајт стрим преко стрима знакова:
Бајт оријентисан чита бајт по бајт. Стрим бајтова је погодан за обраду сирових података као што су бинарне датотеке.
Кључне тачке приликом коришћења и рада са било којим од горе наведених токова:
- Класе тока знакова се обично завршавају са Реадер/Вритер док се класе токова бајтова завршавају са ИнпутСтреам/ОутпутСтреам.
- Примери кодова у овом чланку користе токове без баферовања који су мање ефикасни. За боље перформансе обично их умотавамо у БуффередРеадер/БуффередВритер (токови знакова) или БуффередИнпутСтреам/БуффередОутпутСтреам (токови бајтова).
- Увек затворите стримове након употребе да бисте ослободили ресурсе и спречили грешке.
- Горе наведени кодови можда неће радити у компајлерима на мрежи јер датотеке можда не постоје.
Цхарацтер Стреам
У Јави знакови се чувају користећи Уницоде конвенције. Ток знакова нам аутоматски омогућава да читамо/пишемо податке знак по знак. На пример, ФилеРеадер и ФилеВритер су токови знакова који се користе за читање из извора и писање до одредишта.
укључују ц програмирање
Цхарацтер СтреамсПример
Javaimport java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Initially assigning null as we have not read anything FileReader sourceStream = null; try { // Reading from file sourceStream = new FileReader('/Users/mayanksolanki/Desktop/demo.rtf'); // Reading sourcefile and writing content to target file character by character. int temp; // If there is content inside file than read while ((temp = sourceStream.read()) != -1) System.out.println((char)temp); System.out.print('Program successfully executed'); } finally { if (sourceStream != null) sourceStream.close(); } } }
Излаз:
Записује садржај у циљну датотеку знак по знак
Програм је успешно извршен
Бите Стреам
Ток бајтова у Јави је ток који рукује уносом и излазом сирових 8-битних бинарних података. Углавном се користи за читање и писање нетекстуалних података као што су слике, аудио видео или било која бинарна датотека. На пример ФилеИнпутСтреам се користи за читање из извора и ФилеОутпутСтреам за писање до одредишта.
Пример:
Javaimport java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Initially assigning null ot objects for reading and writing to file FileInputStream sourceStream = null; FileOutputStream targetStream = null; try { // Passing the files via local directory sourceStream = new FileInputStream('/Users/mayanksolanki/Desktop/demo.rtf'); targetStream = new FileOutputStream('/Users/mayanksolanki/Desktop/democopy.rtf'); // Reading source file and writing content to file byte by byte int temp; // If there is content inside file than read while ((temp = sourceStream.read()) != -1) targetStream.write((byte)temp); System.out.print('Program successfully executed'); } // finally block that executes for sure where we are closing file connections to avoid memory leakage finally { if (sourceStream != null) sourceStream.close(); if (targetStream != null) targetStream.close(); } } }
Излаз:
Програм је успешно извршен
како поништити избор у гимп-у
Разлике између тока знакова и тока бајтова
| Аспецт | Цхарацтер Стреам | Бите Стреам |
|---|---|---|
| Обрађени тип података | 16-битни Уницоде знакови (текст) | 8-битни необрађени подаци (бинарни) |
| Часови се завршавају са | Читалац / писац | ИнпутСтреам / ОутпутСтреам |
| Погодно за | Текстуалне датотеке Уницоде подаци | Слике аудио видео бинарне датотеке |
| Конверзија | Аутоматски претвара бајтове у знакове | Ниједна конверзија не ради са сировим бајтовима |
| Примери | ФилеРеадер ФилеВритер | ФилеИнпутСтреам ФилеОутпутСтреам |
Повезани чланак
- Јава ИО – Улаз/излаз у Јави са примерима