Obxecto obxecto incorporado

ObjectBufferedStream

Obxecto de lectura da caché

O obxecto BufferedStream é un obxecto de fluxo almacenado no búfer que se usa para a lectura do fluxo binario. Pode almacenar na caché o seu fluxo subxacente e proporcionar capacidades de lectura de texto. Cando se utiliza o obxecto BufferedStream, só precisa pasar o obxecto de fluxo para procesalo como parámetro de construción. Método de creación:

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

BufferedStream herda deStreamobxecto, terStreamTodos os métodos e propiedades do obxecto. Entre eles, o atributo stream úsase para consultar o obxecto stream ao crear o obxecto de caché. O obxecto BufferedStream tamén admite o atributo EOL para consultar e configurar o identificador de fin de liña (por defecto, posix:\"\n\"; windows:\"\r\n\") e o atributo charset para consultar e configurar o procesamento do obxecto actual. Conxunto de caracteres para o texto, o predeterminado é utf-8.

Cando o obxecto BufferedStream le os datos do fluxo, adopta un método de bloque para ler primeiro os datos no búfer e despois obter os datos do búfer. Isto pode reducir de forma efectiva o número de interaccións de rede ao ler os datos do fluxo e mellorar a eficiencia da lectura. eficiencia.

O obxecto BufferedStream tamén proporciona o método de escritura para escribir os datos dados no fluxo e, cando o obxecto do fluxo subxacente se bloquee por escrito, agarde a que acepte os datos antes de continuar co seguinte paso. O método Flush escribe o contido do búfer do ficheiro nun dispositivo físico. O método close pecha o obxecto de fluxo actual. A implementación específica dalgúns métodos pódese implementar en subclases.

Ao usar o obxecto BufferedStream, cómpre ter coidado de non mesturalo con outros obxectos de fluxo subxacentes que xa estean en uso, se non, pode provocar lecturas repetidas de datos ou erros de lectura.

Aquí tes un código de mostra que usa un obxecto BufferedStream para ler o contido dun ficheiro:

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 herdanza

Construtor

BufferedStream

Construtor de BufferedStream

1
new BufferedStream(Stream stm);

Parámetros de chamada:

  • stm:Stream, o obxecto de fluxo binario subxacente de BufferedStream

propiedades dos membros

stream

Stream, Consulta o obxecto de fluxo ao crear o obxecto de caché

1
readonly Stream BufferedStream.stream;

charset

Cadena, consulta e establece o conxunto de caracteres do obxecto actual ao procesar texto, o valor predeterminado é utf-8

1
String BufferedStream.charset;

EOL

Cadena, consulta e establece o identificador do final de liña. Por defecto, posix:\"\n\"; windows:\"\r\n\"

1
String BufferedStream.EOL;

fd

Número enteiro, consultaStreamO valor do descritor do ficheiro correspondente, implementado por subclases

1
readonly Integer BufferedStream.fd;

función de membro

readText

Ler texto con caracteres especificados

1
String BufferedStream.readText(Integer size) async;

Parámetros de chamada:

  • size: Enteiro, especifica o número de caracteres de texto a ler, o que sexa UTF8 ou o número especificado de bytes de codificación.

Resultados de devolución:

  • String, devolve a cadea de texto lida. Se non hai datos para ler ou se interrompe a conexión, devólvese nulo.

readLine

Le unha liña de texto. O identificador de fin de liña baséase na configuración do atributo EOL. Por defecto, posix:\"\n\"; windows:\"\r\n\"

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

Parámetros de chamada:

  • maxlen: Enteiro, especifica a cadea máxima lida esta vez, en función do número de bytes de codificación utf8. Non hai límite no número de caracteres por defecto.

Resultados de devolución:

  • String, devolve a cadea de texto lida. Se non hai datos para ler ou se interrompe a conexión, devólvese nulo.

readLines

Le un grupo de liñas de texto en modo matriz. O identificador de fin de liña baséase na configuración do atributo EOL. Por defecto, posix:\"\n\"; windows:\"\r\n\"

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

Parámetros de chamada:

  • maxlines: Número enteiro, especifica o número máximo de liñas que se van ler nesta ocasión. Por defecto, len todas as liñas de texto.

Resultados de devolución:

  • Array, devolve unha matriz de liñas de texto lidas. Se non hai datos para ler ou se interrompe a conexión, a matriz estará baleira.

readUntil

Ler unha cadea de texto que remate cos bytes especificados

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

Parámetros de chamada:

  • mk: String, a cadea que especifica o final
  • maxlen: Enteiro, especifica a cadea máxima lida esta vez, en función do número de bytes de codificación utf8. Non hai límite no número de caracteres por defecto.

Resultados de devolución:

  • String, devolve a cadea de texto lida. Se non hai datos para ler ou se interrompe a conexión, devólvese nulo.

writeText

Escribe unha cadea

1
BufferedStream.writeText(String txt) async;

Parámetros de chamada:

  • txt: Cadea, especifica a cadea que se vai escribir

writeLine

Escribe unha cadea e escribe un carácter de nova liña

1
BufferedStream.writeLine(String txt) async;

Parámetros de chamada:

  • txt: Cadea, especifica a cadea que se vai escribir

read

Ler datos do tamaño especificado do fluxo

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

Parámetros de chamada:

  • bytes: Número enteiro, especifica a cantidade de datos que se van ler. O valor predeterminado é ler bloques de datos de tamaño aleatorio. O tamaño dos datos lidos depende do dispositivo.

Resultados de devolución:

  • Buffer, devolve os datos lidos do fluxo. Se non hai datos para ler ou se interrompe a conexión, devólvese nulo.

write

Escribe os datos dados no fluxo

1
BufferedStream.write(Buffer data) async;

Parámetros de chamada:

  • data:Buffer, dados os datos a escribir

flush

Escribe o contido do búfer de ficheiros no dispositivo físico

1
BufferedStream.flush() async;

close

Pecha o obxecto de fluxo actual

1
BufferedStream.close() async;

copyTo

Copia os datos do fluxo no fluxo de destino

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

Parámetros de chamada:

  • stm:Stream, obxecto de fluxo de destino
  • bytes: Longo, número de bytes copiados

Resultados de devolución:

  • Long, devolve o número de bytes copiados

toString

Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.

1
String BufferedStream.toString();

Resultados de devolución:

  • String, devolve a representación en cadea do obxecto

toJSON

Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.

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

Parámetros de chamada:

  • key: Cadena, non usada

Resultados de devolución:

  • Value, devolve un valor que contén JSON serializable