BufferedStream в Java

BufferedInputStream, BufferedOutputStreamчтение байтового потока и запись в байтовый поток с добавлением буфера для улучшения производительности.

Это класс обертка для InputStream с буферизацией.

Благодаря буферизации потоки, которые переданы в конструктор BufferedInputStream будут читать данные из буфера маленькими порциями, а буфер, чтобы сэкономить время и силы, читает их из потока источника большими порциями.

Пример программы:

import java.io.*; import java.util.*; class BufferedStreamLesson{ public static void main(String[] args) { String text = “Hello world!”; byte[] buffer = text.getBytes(); //ByteArrayInputStream, ByteArrayInputStream очевидно //для работы с массивами байтов //(читать из массива байтов/писать в массив байтов). ByteArrayInputStream in = new ByteArrayInputStream(buffer); //теперь in и System.out буферизованные что улучшает //производительность. BufferedInputStream bis = new BufferedInputStream(in); BufferedOutputStream bos=new BufferedOutputStream(System.out); try{ int ch; while((ch=bis.read()) != -1) { bos.write((char)ch); //только что мы записали байт в //буферизованный вывод BufferedOutputStream //а для записи байта в поток, который //обернут в BufferedOutputStream //необходимо сделать flush bos.flush(); } } catch(Exception e){ System.out.println(“gewgwg”); } } }

Вывод:

StringReader и StringWriter в Java

Изучите StringReader и StringWriter в Java: работа со строками как с потоками данных. Практический пример чтения и записи строк с буферизацией.
Time to read: 7

SequenceInputStream в Java

Узнайте, как использовать SequenceInputStream в Java для объединения нескольких потоков в один. Пример чтения данных из двух файлов через единый поток с подробным кодом.
Time to read: 9

PipedStream в Java: передача данных между потоками

PipedInputStream и PipedOutputStream для обмена данными между потоками в Java. Практический пример многопоточной передачи данных.
Time to read: 10