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ó:
1var 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
19var 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
1new 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
1readonly 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
1String BufferedStream.charset;
EOL
Cadena, consulta i defineix l'identificador del final de línia. Per defecte, posix:\"\n\"; windows:\"\r\n\"
1String BufferedStream.EOL;
fd
Enter, consultaStreamEl valor del descriptor de fitxer corresponent, implementat per subclasses
1readonly Integer BufferedStream.fd;
funció de membre
readText
Llegir text amb caràcters especificats
1String 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\"
1String 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\"
1Array 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
2String 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
1BufferedStream.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
1BufferedStream.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
1Buffer 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
1BufferedStream.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
1BufferedStream.flush() async;
close
Tanca l'objecte del flux actual
1BufferedStream.close() async;
copyTo
Copieu les dades del flux al flux de destinació
1
2Long 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.
1String 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.
1Value BufferedStream.toJSON(String key = "");
Paràmetres de trucada:
- key: Corda, no utilitzada
Resultats de retorn:
- Value, retorna un valor que conté JSON serializable