Objeto incorporado

ObjetoBufferedStream

Objeto de lectura de caché

El objeto BufferedStream es un objeto de flujo almacenado en búfer que se utiliza para la lectura de flujo binario. Puede almacenar en caché su flujo subyacente y proporcionar capacidades de lectura de texto. Cuando se utiliza el objeto BufferedStream, solo necesita pasar el objeto de flujo que se procesará como parámetro de construcción. Método de creación:

1
var reader = new io.BufferedStream(stream);

BufferedStream hereda deStreamobjeto, tenerStreamTodos los métodos y propiedades del objeto. Entre ellos, el atributo de secuencia se utiliza para consultar el objeto de secuencia al crear el objeto de caché. El objeto BufferedStream también admite el atributo EOL para consultar y configurar el identificador de fin de línea (predeterminado, posix:\"\n\"; windows:\"\r\n\") y el atributo charset para consultar y configurar el objeto actual que procesa el conjunto de caracteres para texto, el valor predeterminado es utf-8.

Cuando el objeto BufferedStream lee datos de flujo, adopta un método de bloque para leer primero los datos en el búfer y luego obtener los datos del búfer, lo que puede reducir efectivamente la cantidad de interacciones de red al leer datos de flujo y mejorar la eficiencia de lectura. eficiencia.

El objeto BufferedStream también proporciona el método de escritura para escribir los datos dados en la secuencia, y cuando el objeto de secuencia subyacente esté bloqueado por escritura, espere a que acepte los datos antes de continuar con el siguiente paso. El método Flush escribe el contenido del búfer del archivo en un dispositivo físico. El método close cierra el objeto de flujo actual. La implementación específica de algunos métodos se puede implementar en subclases.

Al utilizar el objeto BufferedStream, debe tener cuidado de no mezclarlo con otros objetos de flujo subyacentes que ya estén en uso; de lo contrario, puede provocar lecturas repetidas de datos o errores de lectura.

A continuación se muestra un código de muestra que utiliza un objeto BufferedStream para leer el contenido de un archivo:

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();

relación de herencia

Constructor

BufferedStream

Constructor BufferedStream

1
new BufferedStream(Stream stm);

Parámetros de llamada:

  • stm:Stream, el objeto de flujo binario subyacente de BufferedStream

propiedades de miembros

stream

Stream, Consulta el objeto de flujo al crear el objeto de caché.

1
readonly Stream BufferedStream.stream;

charset

Cadena, consulta y establece el juego de caracteres del objeto actual al procesar texto, el valor predeterminado es utf-8

1
String BufferedStream.charset;

EOL

Cadena, consulta y establece el identificador de final de línea. De forma predeterminada, posix:\"\n\"; windows:\"\r\n\"

1
String BufferedStream.EOL;

fd

Entero, consultaStreamEl valor del descriptor de archivo correspondiente, implementado por subclases.

1
readonly Integer BufferedStream.fd;

función miembro

readText

Leer texto con caracteres específicos

1
String BufferedStream.readText(Integer size) async;

Parámetros de llamada:

  • size: Entero, especifica el número de caracteres de texto que se leerán, lo que sea UTF8 o el número especificado de bytes de codificación.

Resultados de devolución:

  • String, devuelve la cadena de texto leído. Si no hay datos para leer o la conexión se interrumpe, se devuelve nulo.

readLine

Leer una línea de texto. El identificador de fin de línea se basa en la configuración del atributo EOL. De forma predeterminada, posix:\"\n\"; windows:\"\r\n\"

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

Parámetros de llamada:

  • maxlen: Entero, especifica la cadena máxima leída esta vez, según el número de bytes de codificación utf8. No hay límite en el número de caracteres de forma predeterminada.

Resultados de devolución:

  • String, devuelve la cadena de texto leído. Si no hay datos para leer o la conexión se interrumpe, se devuelve nulo.

readLines

Leer un grupo de líneas de texto en modo de matriz. El identificador de fin de línea se basa en la configuración del atributo EOL. De forma predeterminada, posix:\"\n\"; windows:\"\r\n\"

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

Parámetros de llamada:

  • maxlines: Entero, especifica el número máximo de líneas que se leerán esta vez. De forma predeterminada, se leen todas las líneas de texto.

Resultados de devolución:

  • Array, devuelve una matriz de líneas de texto leídas. Si no hay datos para leer o la conexión se interrumpe, la matriz estará vacía.

readUntil

Leer una cadena de texto que termine con los bytes especificados.

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

Parámetros de llamada:

  • mk: Cadena, la cadena que especifica el final
  • maxlen: Entero, especifica la cadena máxima leída esta vez, según el número de bytes de codificación utf8. No hay límite en el número de caracteres de forma predeterminada.

Resultados de devolución:

  • String, devuelve la cadena de texto leído. Si no hay datos para leer o la conexión se interrumpe, se devuelve nulo.

writeText

Escribe una cadena

1
BufferedStream.writeText(String txt) async;

Parámetros de llamada:

  • txt: Cadena, especifica la cadena que se escribirá

writeLine

Escribe una cadena y escribe un carácter de nueva línea.

1
BufferedStream.writeLine(String txt) async;

Parámetros de llamada:

  • txt: Cadena, especifica la cadena que se escribirá

read

Leer datos de tamaño especificado de la secuencia

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

Parámetros de llamada:

  • bytes: Entero, especifica la cantidad de datos que se leerán. El valor predeterminado es leer bloques de datos de tamaño aleatorio. El tamaño de los datos leídos depende del dispositivo.

Resultados de devolución:

  • Buffer, devuelve los datos leídos de la secuencia. Si no hay datos para leer o la conexión se interrumpe, se devuelve nulo.

write

Escribe los datos dados en la secuencia.

1
BufferedStream.write(Buffer data) async;

Parámetros de llamada:

  • data:Buffer, dados los datos a escribir

flush

Escribir el contenido del búfer de archivos en un dispositivo físico

1
BufferedStream.flush() async;

close

Cerrar el objeto de flujo actual

1
BufferedStream.close() async;

copyTo

Copiar datos de la transmisión a la transmisión de destino

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

Parámetros de llamada:

  • stm:Stream, objeto de flujo de destino
  • bytes: Largo, número de bytes copiados

Resultados de devolución:

  • Long, devuelve el número de bytes copiados

toString

Devuelve la representación de cadena del objeto. Generalmente, se devuelve "[Objeto nativo]". El objeto se puede volver a implementar de acuerdo con sus propias características.

1
String BufferedStream.toString();

Resultados de devolución:

  • String, devuelve la representación de cadena del objeto

toJSON

Devuelve una representación en formato JSON del objeto, que generalmente devuelve una colección de propiedades legibles definidas por el objeto.

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

Parámetros de llamada:

  • key: Cadena, no utilizada

Resultados de devolución:

  • Value, devuelve un valor que contiene JSON serializable