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ó:
1var 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
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
atribut de membre
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 en processar text, el valor per defecte és utf-8
1String BufferedStream.charset;
EOL
Cadena, consulta i defineix l'identificador de 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, 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\"
1String 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\"
1Array 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
2String 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
1BufferedStream.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
1BufferedStream.writeLine(String txt) async;
Paràmetres de trucada:
- txt: Cadena, especifica la cadena a escriure
read
Llegiu dades de la mida especificada del flux
1Buffer 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
1BufferedStream.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
1BufferedStream.flush() async;
close
tanqueu 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, 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
1String 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
1Value BufferedStream.toJSON(String key = "");
Paràmetres de trucada:
- key: Corda, no utilitzada
resultat de retorn:
- Value, que retorna un valor serialitzable per JSON