Топ-100BufferedStream в Java - CodOrbits
LogoCodOrbits

Раздел: Потоки ввода/вывода

Раздел о том, как работать с файлами и потоками в Java: чтение, запись, буферизация и сериализация данных.

Все разделы
Иконка Потоки ввода/вывода

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
мин.

Similar Articles Icon
Divider

SequenceInputStream в Java

9
мин.

Similar Articles Icon
Divider

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

10
мин.

Similar Articles Icon