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

ObjectBufferedStream

Объект чтения кэша

Объект 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, возвращает количество скопированных байтов

toString

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

1
String BufferedStream.toString();

Результаты возврата:

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

toJSON

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

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

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

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

Результаты возврата:

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