Objecte objecte incorporat

ObjectBufferedStream

Objecte de lectura de la memòria cau

L'objecte BufferedStream és un objecte de flux de memòria intermèdia utilitzat 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, tenirStreamTots 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 configurar 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 per llegir primer les dades a la memòria intermèdia i després obtenir les dades de la memòria intermèdia. Això pot reduir de manera efectiva el nombre d'interaccions de xarxa quan es llegeixen dades de flux i millorar l'eficiència de lectura. eficiència.

L'objecte BufferedStream també proporciona el mètode d'escriptura per escriure les dades donades al flux, i quan l'objecte del flux subjacent està bloquejat per escrit, 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 en un 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 una lectura repetida de dades o errors de lectura.

Aquí hi ha un codi de mostra que utilitza un objecte BufferedStream per llegir el contingut d'un fitxer:

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

propietats dels membres

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 quan es processa text, el valor per defecte és utf-8

1
String BufferedStream.charset;

EOL

Cadena, consulta i defineix l'identificador del 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, especifica el nombre de caràcters de text a llegir, el que sigui UTF8 o el nombre especificat de bytes de codificació.

Resultats de retorn:

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

readLine

Llegeix una línia de text. L'identificador de final de línia es basa en la configuració de l'atribut EOL. De manera predeterminada, posix:\"\n\"; windows:\"\r\n\"

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

Paràmetres de trucada:

  • maxlen: Enter, especifica la cadena màxima llegida aquesta vegada, en funció del nombre de bytes de codificació utf8. No hi ha límit de caràcters per defecte.

Resultats de retorn:

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

readLines

Llegiu un grup de línies de text en mode matriu. L'identificador de final de 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 que es llegiran aquesta vegada. Per defecte, es llegeixen totes les línies de text.

Resultats de retorn:

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

readUntil

Llegeix una cadena de text que acaba amb els bytes especificats

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

Paràmetres de trucada:

  • mk: String, la cadena que especifica el final
  • maxlen: Enter, especifica la cadena màxima llegida aquesta vegada, en funció del nombre de bytes de codificació utf8. No hi ha límit de caràcters per defecte.

Resultats de retorn:

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

writeText

Escriu una cadena

1
BufferedStream.writeText(String txt) async;

Paràmetres de trucada:

  • txt: Cadena, especifica la cadena que s'ha d'escriure

writeLine

Escriu una cadena i escriu un caràcter de nova línia

1
BufferedStream.writeLine(String txt) async;

Paràmetres de trucada:

  • txt: Cadena, especifica la cadena que s'ha d'escriure

read

Llegiu dades de la mida especificada del flux

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

Paràmetres de trucada:

  • bytes: Sencer, especifica la quantitat de dades que s'han de llegir. El valor predeterminat és llegir blocs de dades de mida aleatòria. La mida de les dades llegides depèn del dispositiu.

Resultats de retorn:

  • Buffer, retorna les dades llegides del flux. Si no hi ha dades per llegir o la connexió s'interromp, es retorna null.

write

Escriu les dades donades al flux

1
BufferedStream.write(Buffer data) async;

Paràmetres de trucada:

  • data:Buffer, donades les dades a escriure

flush

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

1
BufferedStream.flush() async;

close

Tanca 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, objecte de flux de destinació
  • bytes: llarg, nombre de bytes copiats

Resultats de retorn:

  • Long, retorna el nombre de bytes copiats

toString

Retorna la representació de cadena de l'objecte. En general, es retorna "[Objecte natiu]". L'objecte es pot tornar a implementar segons les seves pròpies característiques.

1
String BufferedStream.toString();

Resultats de retorn:

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

toJSON

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

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

Paràmetres de trucada:

  • key: Corda, no utilitzada

Resultats de retorn:

  • Value, retorna un valor que conté JSON serializable