Государственный


Буферизация символьных потоков



бет12/25
Дата05.04.2024
өлшемі4.07 Mb.
#497748
1   ...   8   9   10   11   12   13   14   15   ...   25
Java. Потоки ввода-вывода. Работа с файлами. Кравчук А.С., Кравчук А.И., Кремень Е.В

Буферизация символьных потоков.


BufferedReader и BufferedWriter
Класс BufferedWriter записывает текст в поток, предварительно буферизируя записываемые символы, тем самым снижая количество обращений к физическому носителю для записи данных.
Класс BufferedWriter имеет следующие конструкторы:

    • BufferedWriter(Writer out)

    • BufferedWriter(Writer out, int sz)

В качестве параметра каждый из конструкторов принимает поток вывода (out), в который надо осуществить запись. Второй параметр (sz) указывает на размер буфера.


Замечание.
Так как BufferedWriter потомок класса Writer, то он может использовать все те методы для чтения из потока, которые определены в Reader.

Класс BufferedReader считывает текст из символьного потока ввода, буферизируя прочитанные символы. Использование буфера призвано увеличить производительность чтения данных из потока.


Класс BufferedReader имеет аналогичные конструкторы:

    • BufferedReader(Reader in)

    • BufferedReader(Reader in, int sz)

Замечание.
Так как BufferedReader наследуется от класса Reader, то он может использовать все те методы для чтения из потока, которые определены в Reader, а также BufferedReader определяет свой собственный метод readLine(), который позволяет считывать из потока построчно.

Очевидно, что применительно к записи/чтению в/из файла классы должны работать в паре:



    • FileWriter и BufferedWriter;

    • FileReader и BufferedReader.

Пример.

Результат работы программы:1




Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   ...   25




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет