Object-ingebouwd object

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:

1
var 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 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();

erfenis relatie

Constructeur

BufferedStream

GebufferdeStream-constructor

1
new 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

1
readonly 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

1
String BufferedStream.charset;

EOL

Tekenreeks, query en stel de regeleinde-ID in. Standaard posix:\"\n\"; windows:\"\r\n\"

1
String BufferedStream.EOL;

fd

Geheel getal, vraagStreamDe corresponderende bestandsdescriptorwaarde, geïmplementeerd door subklassen

1
readonly Integer BufferedStream.fd;

lid functie

readText

Lees tekst met gespecificeerde tekens

1
String 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\"

1
String 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\"

1
Array 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 2
String 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

1
BufferedStream.writeText(String txt) async;

Oproepparameters:

  • txt: String, specificeert de te schrijven string

writeLine

Schrijf een string en schrijf een newline-teken

1
BufferedStream.writeLine(String txt) async;

Oproepparameters:

  • txt: String, specificeert de te schrijven string

read

Lees gegevens van een opgegeven grootte uit de stream

1
Buffer 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

1
BufferedStream.write(Buffer data) async;

Oproepparameters:

  • data:Buffer, gegeven de te schrijven gegevens

flush

Schrijf de inhoud van de bestandsbuffer naar een fysiek apparaat

1
BufferedStream.flush() async;

close

Sluit het huidige streamobject

1
BufferedStream.close() async;

copyTo

Kopieer streamgegevens naar doelstream

1 2
Long 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.

1
String 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.

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

Oproepparameters:

  • key: Tekenreeks, niet gebruikt

Resultaten retourneren:

  • Value, retourneert een waarde die JSON-serialiseerbaar bevat