BufferedStream в Java
Last updated: 6 мая 2025 г.BufferedInputStream
, BufferedOutputStream
– чтение байтового потока и запись в байтовый поток с добавлением буфера для улучшения производительности.
Это класс обертка для InputStream с буферизацией.
Благодаря буферизации потоки, которые переданы в конструктор BufferedInputStream будут читать данные из буфера маленькими порциями, а буфер, чтобы сэкономить время и силы, читает их из потока источника большими порциями.
Пример программы:
1import java.io.*;
2import java.util.*;
3
4class BufferedStreamLesson{
5 public static void main(String[] args) {
6 String text = "Hello world!";
7 byte[] buffer = text.getBytes();
8 //ByteArrayInputStream, ByteArrayInputStream очевидно
9 //для работы с массивами байтов
10 //(читать из массива байтов/писать в массив байтов).
11 ByteArrayInputStream in = new ByteArrayInputStream(buffer);
12 //теперь in и System.out буферизованные что улучшает
13 //производительность.
14 BufferedInputStream bis = new BufferedInputStream(in);
15 BufferedOutputStream bos=new BufferedOutputStream(System.out);
16
17 try{
18 int ch;
19 while((ch=bis.read()) != -1)
20 {
21 bos.write((char)ch);
22 //только что мы записали байт в
23 //буферизованный вывод BufferedOutputStream
24 //а для записи байта в поток, который
25 //обернут в BufferedOutputStream
26 //необходимо сделать flush
27 bos.flush();
28 }
29 }
30 catch(Exception e){
31 System.out.println("gewgwg");
32 }
33 }
34}
Вывод:

Следующие уроки
StringReader и StringWriter в Java
7
мин.
SequenceInputStream в Java
9
мин.
PipedStream в Java: передача данных между потоками
10
мин.