Objecte objecte incorporat

Objecte BufferedStream

La memòria cau d'objectes de lectura

Un objecte BufferedStream és un objecte de flux de memòria intermèdia per a la lectura de flux binari. Pot emmagatzemar a la memòria cau el seu flux subjacent i proporcionar capacitats de lectura de text. Quan utilitzeu l'objecte BufferedStream, només heu de passar l'objecte de flux per processar-lo com a paràmetre de construcció. Mètode de creació:

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

BufferedStream hereta deStreamobjecte, téStreamTots els mètodes i propietats de l'objecte. Entre ells, l'atribut stream s'utilitza per consultar l'objecte stream quan es crea l'objecte de memòria cau. L'objecte BufferedStream també admet l'atribut EOL per consultar i establir l'identificador de final de línia (per defecte, posix:\"\n\"; windows:\"\r\n\") i l'atribut charset per consultar i establint el processament d'objectes actual. Conjunt de caràcters per al text, per defecte és utf-8.

Quan l'objecte BufferedStream llegeix dades de flux, adopta un mètode de bloc, primer llegeix les dades a la memòria intermèdia i després obté les dades de la memòria intermèdia, cosa que pot reduir de manera efectiva el nombre d'interaccions de xarxa en llegir dades de flux i millorar l'eficiència de lectura. Prendre eficiència.

L'objecte BufferedStream també proporciona un mètode d'escriptura per escriure les dades donades al flux i, quan l'objecte del flux subjacent està bloquejat per escriure, espereu que accepti les dades abans de passar al següent pas. El mètode Flush escriu el contingut de la memòria intermèdia del fitxer al dispositiu físic. El mètode close tanca l'objecte de flux actual. La implementació específica d'alguns mètodes es pot implementar en subclasses.

Quan utilitzeu l'objecte BufferedStream, heu de tenir cura de no barrejar-lo amb altres objectes de flux subjacents que ja estan en ús, en cas contrari, pot provocar errors de lectura o lectura de dades repetits.

El següent és un codi d'exemple per llegir el contingut d'un fitxer mitjançant un objecte 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();

relació hereditària

Constructor

BufferedStream

Constructor BufferedStream

1
new BufferedStream(Stream stm);

Paràmetres de trucada:

  • stm:Stream, l'objecte de flux binari subjacent de BufferedStream

atribut de membre

stream

Stream, consulteu l'objecte de flux quan creeu l'objecte de memòria cau

1
readonly Stream BufferedStream.stream;

charset

Encadena, consulta i defineix el conjunt de caràcters de l'objecte actual en processar text, el valor per defecte és utf-8

1
String BufferedStream.charset;

EOL

Cadena, consulta i defineix l'identificador de final de línia, per defecte, posix:\"\n\"; windows:\"\r\n\"

1
String BufferedStream.EOL;

fd

Enter, consultaStreamEl valor del descriptor de fitxer corresponent, implementat per subclasses

1
readonly Integer BufferedStream.fd;

funció de membre

readText

llegir text amb caràcters especificats

1
String BufferedStream.readText(Integer size) async;

Paràmetres de trucada:

  • size: Sencer, especifiqueu el nombre de caràcters de text a llegir, subjecte a utf8 o el nombre especificat de bytes codificats

resultat de retorn:

  • String, retorna la cadena de text llegida o null si no hi ha dades per llegir o la connexió s'interromp

readLine

Llegiu una línia de text, el final de la línia es basa en la configuració de l'atribut EOL, per defecte, posix:\"\n\"; windows:\"\r\n\"

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

Paràmetres de trucada:

  • maxlen: Enter, especifica la cadena de caràcters màxima que es llegirà aquesta vegada, subjecte al nombre de bytes codificats a utf8, i el nombre de caràcters no està limitat per defecte

resultat de retorn:

  • String, retorna la cadena de text llegida o null si no hi ha dades per llegir o la connexió s'interromp

readLines

Llegiu un grup de línies de text en una matriu i la identificació del final de la línia es basa en la configuració de l'atribut EOL. Per defecte, posix:\"\n\"; windows:\"\r\n\"

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

Paràmetres de trucada:

  • maxlines: Enter, especifica el nombre màxim de línies per llegir aquesta vegada i llegeix totes les línies de text per defecte

resultat de retorn:

  • Array, retorna una matriu de línies de text llegides, si no hi ha dades per llegir, o la connexió s'interromp, una matriu buida

readUntil

Llegeix una cadena de text que acaba amb el byte especificat

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

Paràmetres de trucada:

  • mk: Cadena, especifiqueu el final de la cadena
  • maxlen: Enter, especifica la cadena de caràcters màxima que es llegirà aquesta vegada, subjecte al nombre de bytes codificats a utf8, i el nombre de caràcters no està limitat per defecte

resultat de retorn:

  • String, retorna la cadena de text llegida o null si no hi ha dades per llegir o la connexió s'interromp

writeText

escriure una cadena

1
BufferedStream.writeText(String txt) async;

Paràmetres de trucada:

  • txt: Cadena, especifica la cadena a escriure

writeLine

Escriu una cadena i escriu una nova línia

1
BufferedStream.writeLine(String txt) async;

Paràmetres de trucada:

  • txt: Cadena, especifica la cadena a escriure

read

Llegiu dades de la mida especificada del flux

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

Paràmetres de trucada:

  • bytes: Sencer, especifiqueu la quantitat de dades a llegir, el valor predeterminat és llegir blocs de dades de mida aleatòria, la mida de les dades de lectura depèn del dispositiu

resultat de retorn:

  • Buffer, retorna les dades llegides del flux o nul si no hi ha dades per llegir o la connexió s'interromp

write

escriu les dades proporcionades al flux

1
BufferedStream.write(Buffer data) async;

Paràmetres de trucada:

  • data:Buffer, donades les dades per escriure

flush

Escriu el contingut de la memòria intermèdia del fitxer al dispositiu físic

1
BufferedStream.flush() async;

close

tanqueu l'objecte del flux actual

1
BufferedStream.close() async;

copyTo

Copieu les dades del flux al flux de destinació

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

Paràmetres de trucada:

  • stm:Stream, l'objecte del flux objectiu
  • bytes: llarg, el nombre de bytes copiats

resultat de retorn:

  • Long, retorna el nombre de bytes copiats

toString

Retorna la representació de cadena de l'objecte, generalment retorna "[Native Object]", l'objecte es pot reimplementar segons les seves pròpies característiques

1
String BufferedStream.toString();

resultat de retorn:

  • String, retorna una representació de cadena de l'objecte

toJSON

Retorna la representació en format JSON de l'objecte, generalment retorna una col·lecció de propietats llegibles definides per l'objecte

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

Paràmetres de trucada:

  • key: Corda, no utilitzada

resultat de retorn:

  • Value, que retorna un valor serialitzable per JSON