ObjectBufferedStream
Leesobject in cache opslaan
Het BufferedStream-object is een gebufferd streamobject dat wordt gebruikt voor het lezen van binaire streams. Het kan de onderliggende stroom in de cache opslaan en tekstleesmogelijkheden bieden. Wanneer u het BufferedStream-object gebruikt, hoeft u alleen het te verwerken stream-object als constructieparameter door te geven. Aanmaakmethode:
1var reader = new io.BufferedStream(stream);
BufferedStream erft vanStreamvoorwerp, hebbenStreamAlle methoden en eigenschappen van het object. Onder hen wordt het stream-attribuut gebruikt om het stream-object op te vragen bij het maken van het cache-object. Het BufferedStream-object ondersteunt ook het EOL-attribuut voor het opvragen en instellen van de end-of-line-ID (standaard, posix:\"\n\"; windows:\"\r\n\") en het tekenset-attribuut voor het opvragen en instellen de huidige objectverwerking Tekenset voor tekst, standaard is utf-8.
Wanneer het BufferedStream-object streamgegevens leest, gebruikt het een blokmethode om eerst de gegevens in de buffer te lezen en vervolgens de gegevens uit de buffer te halen. Dit kan het aantal netwerkinteracties bij het lezen van streamgegevens effectief verminderen en de leesefficiëntie verbeteren. efficiëntie.
Het BufferedStream-object biedt ook de schrijfmethode om de gegeven gegevens naar de stream te schrijven, en wanneer het onderliggende stream-object schriftelijk is geblokkeerd, wacht dan tot het de gegevens accepteert voordat u doorgaat naar de volgende stap. De Flush-methode schrijft de inhoud van de bestandsbuffer naar een fysiek apparaat. De close-methode sluit het huidige stream-object. De specifieke implementatie van sommige methoden kan in subklassen worden geïmplementeerd.
Wanneer u het BufferedStream-object gebruikt, moet u oppassen dat u het niet mengt met andere onderliggende stream-objecten die al in gebruik zijn, omdat dit anders herhaaldelijk lezen van gegevens of leesfouten kan veroorzaken.
Hier is een voorbeeldcode die een BufferedStream-object gebruikt om de inhoud van een bestand te lezen:
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();
erfenis relatie
Constructeur
BufferedStream
GebufferdeStream-constructor
1new BufferedStream(Stream stm);
Oproepparameters:
- stm:Stream, het binaire onderliggende stroomobject van BufferedStream
eigenschappen van leden
stream
Stream, Voer een query uit op het streamobject bij het maken van het cacheobject
1readonly Stream BufferedStream.stream;
charset
Tekenreeks, query en stel de tekenset van het huidige object in bij het verwerken van tekst, de standaard is utf-8
1String BufferedStream.charset;
EOL
Tekenreeks, query en stel de regeleinde-ID in. Standaard posix:\"\n\"; windows:\"\r\n\"
1String BufferedStream.EOL;
fd
Geheel getal, vraagStreamDe corresponderende bestandsdescriptorwaarde, geïmplementeerd door subklassen
1readonly Integer BufferedStream.fd;
lid functie
readText
Lees tekst met gespecificeerde tekens
1String BufferedStream.readText(Integer size) async;
Oproepparameters:
- size: Geheel getal, specificeert het aantal teksttekens dat moet worden gelezen, afhankelijk van wat UTF8 is of het opgegeven aantal coderingsbytes.
Resultaten retourneren:
- String, retourneert de leestekenreeks. Als er geen gegevens zijn om te lezen of als de verbinding wordt onderbroken, wordt null geretourneerd.
readLine
Een regel tekst lezen. De ID voor het einde van de regel is gebaseerd op de instelling van het EOL-kenmerk. Standaard is dit posix:\"\n\"; windows:\"\r\n\"
1String BufferedStream.readLine(Integer maxlen = -1) async;
Oproepparameters:
- maxlen: Integer, specificeert de maximale tekenreeks die deze keer kan worden gelezen, gebaseerd op het aantal utf8-coderingsbytes. Er is standaard geen limiet op het aantal tekens.
Resultaten retourneren:
- String, retourneert de leestekenreeks. Als er geen gegevens zijn om te lezen of als de verbinding wordt onderbroken, wordt null geretourneerd.
readLines
Lees een groep tekstregels in de arraymodus. De end-of-line-ID is gebaseerd op de instelling van het EOL-attribuut. Standaard is dit posix:\"\n\"; windows:\"\r\n\"
1Array BufferedStream.readLines(Integer maxlines = -1);
Oproepparameters:
- maxlines: Geheel getal, specificeert het maximum aantal regels dat deze keer gelezen mag worden. Standaard worden alle tekstregels gelezen.
Resultaten retourneren:
- Array, retourneert een array met gelezen tekstregels. Als er geen gegevens zijn om te lezen of als de verbinding wordt onderbroken, is de array leeg.
readUntil
Lees een tekstreeks die eindigt met de opgegeven bytes
1
2String BufferedStream.readUntil(String mk,
Integer maxlen = -1) async;
Oproepparameters:
- mk: String, de string die het einde specificeert
- maxlen: Integer, specificeert de maximale tekenreeks die deze keer kan worden gelezen, gebaseerd op het aantal utf8-coderingsbytes. Er is standaard geen limiet op het aantal tekens.
Resultaten retourneren:
- String, retourneert de leestekenreeks. Als er geen gegevens zijn om te lezen of als de verbinding wordt onderbroken, wordt null geretourneerd.
writeText
Schrijf een tekenreeks
1BufferedStream.writeText(String txt) async;
Oproepparameters:
- txt: String, specificeert de te schrijven string
writeLine
Schrijf een string en schrijf een newline-teken
1BufferedStream.writeLine(String txt) async;
Oproepparameters:
- txt: String, specificeert de te schrijven string
read
Lees gegevens van een opgegeven grootte uit de stream
1Buffer BufferedStream.read(Integer bytes = -1) async;
Oproepparameters:
- bytes: Geheel getal, specificeert de hoeveelheid gegevens die moeten worden gelezen. De standaardinstelling is het lezen van gegevensblokken van willekeurige grootte. De grootte van de gelezen gegevens is afhankelijk van het apparaat.
Resultaten retourneren:
- Buffer, retourneert de gegevens die uit de stream zijn gelezen. Als er geen gegevens zijn om te lezen of als de verbinding wordt onderbroken, wordt null geretourneerd.
write
Schrijf de gegeven gegevens naar de stream
1BufferedStream.write(Buffer data) async;
Oproepparameters:
- data:Buffer, gegeven de te schrijven gegevens
flush
Schrijf de inhoud van de bestandsbuffer naar een fysiek apparaat
1BufferedStream.flush() async;
close
Sluit het huidige streamobject
1BufferedStream.close() async;
copyTo
Kopieer streamgegevens naar doelstream
1
2Long BufferedStream.copyTo(Stream stm,
Long bytes = -1) async;
Oproepparameters:
- stm:Stream, doelstreamobject
- bytes: Lang, aantal gekopieerde bytes
Resultaten retourneren:
- Long, retourneert het aantal gekopieerde bytes
toString
Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.
1String BufferedStream.toString();
Resultaten retourneren:
- String, retourneert de tekenreeksrepresentatie van het object
toJSON
Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.
1Value BufferedStream.toJSON(String key = "");
Oproepparameters:
- key: Tekenreeks, niet gebruikt
Resultaten retourneren:
- Value, retourneert een waarde die JSON-serialiseerbaar bevat