ObjectBufferedStream
Объект чтения кэша
Объект 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, возвращает количество скопированных байтов
toString
Возвращает строковое представление объекта. Обычно возвращается «[Native Object]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.
1String BufferedStream.toString();
Результаты возврата:
- String, возвращает строковое представление объекта
toJSON
Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.
1Value BufferedStream.toJSON(String key = "");
Параметры звонка:
- key: Строка, не используется.
Результаты возврата:
- Value, возвращает значение, содержащее сериализуемый JSON