Объект BufferedStream
Кэшировать прочитанные объекты
Объект BufferedStream — это объект буферизованного потока для чтения двоичного потока. Он может кэшировать свой базовый поток и предоставлять возможности чтения текста. При использовании объекта BufferedStream вам нужно только передать объект потока для обработки в качестве параметра построения. Метод создания:
1var reader = new io.BufferedStream(stream);
BufferedStream наследуется отStreamобъект, имеетStreamВсе методы и свойства объекта. Среди них атрибут потока используется для запроса объекта потока при создании объекта кэша. Объект BufferedStream также поддерживает атрибут EOL для запроса и установки идентификатора конца строки (по умолчанию posix:\"\n\"; windows:\"\r\n\") и атрибут charset для запроса и установка текущего объекта обработки Набор символов для текста, по умолчанию utf-8.
Когда объект BufferedStream считывает потоковые данные, он использует блочный метод, сначала считывает данные в буфер, а затем получает данные из буфера, что может эффективно сократить количество сетевых взаимодействий при чтении потоковых данных и повысить эффективность чтения. , Возьмем эффективность.
Объект BufferedStream также предоставляет метод записи для записи заданных данных в поток, и когда базовый объект потока заблокирован для записи, дождитесь, пока он примет данные, прежде чем перейти к следующему шагу. Метод Flush записывает содержимое файлового буфера на физическое устройство. Метод close закрывает текущий объект потока. Конкретная реализация некоторых методов может быть реализована в подклассах.
При использовании объекта BufferedStream вы должны быть осторожны, чтобы не смешивать его с другими базовыми объектами потока, которые уже используются, иначе это может привести к повторному чтению данных или ошибкам чтения.
Ниже приведен пример кода для чтения содержимого файла с использованием объекта BufferedStream:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19var fs = require('fs');
var io = require('io');
var filename = "test.txt";
// open file
var file = fs.openFile(filename);
// create BufferedStream object
var reader = new io.BufferedStream(file);
// read file content
var lines = reader.readLines();
for (var i = 0; i < lines.length; i++)
console.log(lines[i]);
// close file
file.close();
отношения наследования
Конструктор
BufferedStream
Конструктор BufferedStream
1new BufferedStream(Stream stm);
Параметры вызова:
- stm:Stream, бинарный базовый объект потока BufferedStream
атрибут члена
stream
Stream, запрашивать объект потока при создании объекта кеша
1readonly Stream BufferedStream.stream;
charset
Строка, запрос и установка набора символов текущего объекта при обработке текста, по умолчанию utf-8
1String BufferedStream.charset;
EOL
Строка, запрос и установка идентификатора конца строки, по умолчанию posix:\"\n\"; windows:\"\r\n\"
1String BufferedStream.EOL;
fd
Целое, запросStreamСоответствующее значение дескриптора файла, реализованное подклассами
1readonly Integer BufferedStream.fd;
функция-член
readText
читать текст с указанными символами
1String BufferedStream.readText(Integer size) async;
Параметры вызова:
- size: целое число, укажите количество текстовых символов для чтения с учетом utf8 или заданное количество закодированных байтов
возвращаемый результат:
- String, возвращает прочитанную текстовую строку или null, если нет данных для чтения или соединение прервано
readLine
Прочитайте строку текста, конец строки зависит от настройки атрибута EOL, по умолчанию posix:\"\n\"; windows:\"\r\n\"
1String BufferedStream.readLine(Integer maxlen = -1) async;
Параметры вызова:
- maxlen: целое число, указывает максимальную строку символов, которая будет прочитана на этот раз, в зависимости от количества байтов, закодированных в utf8, и количество символов не ограничено по умолчанию.
возвращаемый результат:
- String, возвращает прочитанную текстовую строку или null, если нет данных для чтения или соединение прервано
readLines
Прочитайте группу текстовых строк в массиве, и идентификация конца строки основана на настройке атрибута EOL. По умолчанию posix:\"\n\"; windows:\"\r\n\"
1Array BufferedStream.readLines(Integer maxlines = -1);
Параметры вызова:
- maxlines: целое число, указывает максимальное количество строк для чтения на этот раз и считывает все текстовые строки по умолчанию.
возвращаемый результат:
- Array, возвращает массив прочитанных текстовых строк, если нет данных для чтения или соединение прервано, пустой массив
readUntil
Прочитать текстовую строку, заканчивающуюся указанным байтом
1
2String BufferedStream.readUntil(String mk,
Integer maxlen = -1) async;
Параметры вызова:
- mk: Строка, укажите конец строки
- maxlen: целое число, указывает максимальную строку символов, которая будет прочитана на этот раз, в зависимости от количества байтов, закодированных в utf8, и количество символов не ограничено по умолчанию.
возвращаемый результат:
- String, возвращает прочитанную текстовую строку или null, если нет данных для чтения или соединение прервано
writeText
написать строку
1BufferedStream.writeText(String txt) async;
Параметры вызова:
- txt: Строка, указывает строку для записи
writeLine
Напишите строку и напишите новую строку
1BufferedStream.writeLine(String txt) async;
Параметры вызова:
- txt: Строка, указывает строку для записи
read
Чтение данных указанного размера из потока
1Buffer BufferedStream.read(Integer bytes = -1) async;
Параметры вызова:
- bytes: Целое число, укажите количество данных для чтения, по умолчанию считываются блоки данных случайного размера, размер считываемых данных зависит от устройства
возвращаемый результат:
- Buffer, возвращает данные, считанные из потока, или null, если нет данных для чтения или соединение прервано
write
записывает данные в поток
1BufferedStream.write(Buffer data) async;
Параметры вызова:
- data:Buffer, учитывая данные для записи
flush
Записать содержимое файлового буфера на физическое устройство
1BufferedStream.flush() async;
close
закрыть текущий объект потока
1BufferedStream.close() async;
copyTo
Копировать данные потока в целевой поток
1
2Long BufferedStream.copyTo(Stream stm,
Long bytes = -1) async;
Параметры вызова:
- stm:Stream, объект целевого потока
- bytes: Long, количество скопированных байтов
возвращаемый результат:
- Long, возвращает количество скопированных байтов
toString
Возвращает строковое представление объекта, как правило, возвращает «[Native Object]», объект может быть переопределен в соответствии с его собственными характеристиками.
1String BufferedStream.toString();
возвращаемый результат:
- String, возвращает строковое представление объекта
toJSON
Возвращает представление объекта в формате JSON, обычно возвращает набор читаемых свойств, определенных объектом.
1Value BufferedStream.toJSON(String key = "");
Параметры вызова:
- key: Строка, не используется
возвращаемый результат:
- Value, который возвращает сериализуемое значение JSON