Встроенный объект объекта

Объект BufferedStream

Кэшировать прочитанные объекты

Объект BufferedStream — это объект буферизованного потока для чтения двоичного потока. Он может кэшировать свой базовый поток и предоставлять возможности чтения текста. При использовании объекта BufferedStream вам нужно только передать объект потока для обработки в качестве параметра построения. Метод создания:

1
var 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 19
var 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

1
new BufferedStream(Stream stm);

Параметры вызова:

  • stm:Stream, бинарный базовый объект потока BufferedStream

атрибут члена

stream

Stream, запрашивать объект потока при создании объекта кеша

1
readonly Stream BufferedStream.stream;

charset

Строка, запрос и установка набора символов текущего объекта при обработке текста, по умолчанию utf-8

1
String BufferedStream.charset;

EOL

Строка, запрос и установка идентификатора конца строки, по умолчанию posix:\"\n\"; windows:\"\r\n\"

1
String BufferedStream.EOL;

fd

Целое, запросStreamСоответствующее значение дескриптора файла, реализованное подклассами

1
readonly Integer BufferedStream.fd;

функция-член

readText

читать текст с указанными символами

1
String BufferedStream.readText(Integer size) async;

Параметры вызова:

  • size: целое число, укажите количество текстовых символов для чтения с учетом utf8 или заданное количество закодированных байтов

возвращаемый результат:

  • String, возвращает прочитанную текстовую строку или null, если нет данных для чтения или соединение прервано

readLine

Прочитайте строку текста, конец строки зависит от настройки атрибута EOL, по умолчанию posix:\"\n\"; windows:\"\r\n\"

1
String BufferedStream.readLine(Integer maxlen = -1) async;

Параметры вызова:

  • maxlen: целое число, указывает максимальную строку символов, которая будет прочитана на этот раз, в зависимости от количества байтов, закодированных в utf8, и количество символов не ограничено по умолчанию.

возвращаемый результат:

  • String, возвращает прочитанную текстовую строку или null, если нет данных для чтения или соединение прервано

readLines

Прочитайте группу текстовых строк в массиве, и идентификация конца строки основана на настройке атрибута EOL. По умолчанию posix:\"\n\"; windows:\"\r\n\"

1
Array BufferedStream.readLines(Integer maxlines = -1);

Параметры вызова:

  • maxlines: целое число, указывает максимальное количество строк для чтения на этот раз и считывает все текстовые строки по умолчанию.

возвращаемый результат:

  • Array, возвращает массив прочитанных текстовых строк, если нет данных для чтения или соединение прервано, пустой массив

readUntil

Прочитать текстовую строку, заканчивающуюся указанным байтом

1 2
String BufferedStream.readUntil(String mk, Integer maxlen = -1) async;

Параметры вызова:

  • mk: Строка, укажите конец строки
  • maxlen: целое число, указывает максимальную строку символов, которая будет прочитана на этот раз, в зависимости от количества байтов, закодированных в utf8, и количество символов не ограничено по умолчанию.

возвращаемый результат:

  • String, возвращает прочитанную текстовую строку или null, если нет данных для чтения или соединение прервано

writeText

написать строку

1
BufferedStream.writeText(String txt) async;

Параметры вызова:

  • txt: Строка, указывает строку для записи

writeLine

Напишите строку и напишите новую строку

1
BufferedStream.writeLine(String txt) async;

Параметры вызова:

  • txt: Строка, указывает строку для записи

read

Чтение данных указанного размера из потока

1
Buffer BufferedStream.read(Integer bytes = -1) async;

Параметры вызова:

  • bytes: Целое число, укажите количество данных для чтения, по умолчанию считываются блоки данных случайного размера, размер считываемых данных зависит от устройства

возвращаемый результат:

  • Buffer, возвращает данные, считанные из потока, или null, если нет данных для чтения или соединение прервано

write

записывает данные в поток

1
BufferedStream.write(Buffer data) async;

Параметры вызова:

  • data:Buffer, учитывая данные для записи

flush

Записать содержимое файлового буфера на физическое устройство

1
BufferedStream.flush() async;

close

закрыть текущий объект потока

1
BufferedStream.close() async;

copyTo

Копировать данные потока в целевой поток

1 2
Long BufferedStream.copyTo(Stream stm, Long bytes = -1) async;

Параметры вызова:

  • stm:Stream, объект целевого потока
  • bytes: Long, количество скопированных байтов

возвращаемый результат:

  • Long, возвращает количество скопированных байтов

toString

Возвращает строковое представление объекта, как правило, возвращает «[Native Object]», объект может быть переопределен в соответствии с его собственными характеристиками.

1
String BufferedStream.toString();

возвращаемый результат:

  • String, возвращает строковое представление объекта

toJSON

Возвращает представление объекта в формате JSON, обычно возвращает набор читаемых свойств, определенных объектом.

1
Value BufferedStream.toJSON(String key = "");

Параметры вызова:

  • key: Строка, не используется

возвращаемый результат:

  • Value, который возвращает сериализуемое значение JSON