Object ingebouwd object

Object BufferedStream

Cache gelezen objecten

Een BufferedStream-object is een gebufferd stream-object voor het lezen van binaire streams. Het kan zijn onderliggende stream cachen en tekstleesmogelijkheden bieden. Wanneer u het BufferedStream-object gebruikt, hoeft u alleen het te verwerken stream-object als constructieparameter door te geven. Creatie methode:

1
var reader = new io.BufferedStream(stream);

BufferedStream erft vanStreamvoorwerp, heeftStreamAlle 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-kenmerk voor het opvragen en instellen van de end-of-line identifier (standaard posix:\"\n\"; windows:\"\r\n\") en het tekensetkenmerk voor het opvragen en instellen van de huidige objectverwerking Tekenset voor tekst, standaard is utf-8.

Wanneer het BufferedStream-object streamgegevens leest, past het een blokmethode toe, leest eerst de gegevens in de buffer en verkrijgt vervolgens de gegevens uit de buffer, wat het aantal netwerkinteracties bij het lezen van streamgegevens effectief kan verminderen en de leesefficiëntie kan verbeteren Neem efficiëntie.

Het BufferedStream-object biedt ook een schrijfmethode om de gegeven gegevens naar de stream te schrijven, en wanneer het onderliggende stream-object is geblokkeerd voor schrijven, wacht u tot het de gegevens accepteert voordat u doorgaat naar de volgende stap. De Flush-methode schrijft de inhoud van de bestandsbuffer naar het fysieke 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 ervoor zorgen dat u het niet vermengt met andere onderliggende stream-objecten die al in gebruik zijn, anders kan dit leiden tot herhaaldelijk lezen van gegevens of leesfouten.

Het volgende is een voorbeeldcode voor het lezen van de inhoud van een bestand met behulp van een BufferedStream-object:

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

BufferedStream-constructor

1
new BufferedStream(Stream stm);

Oproepparameters:

  • stm:Stream, het binaire onderliggende streamobject van BufferedStream

lid attribuut

stream

Stream, voer een query uit op het stream-object bij het maken van het cache-object

1
readonly Stream BufferedStream.stream;

charset

String, vraag en stel de tekenset van het huidige object in bij het verwerken van tekst, de standaard is utf-8

1
String BufferedStream.charset;

EOL

String, vraag en stel het einde van de regel-ID standaard in, posix:\"\n\"; windows:\"\r\n\"

1
String BufferedStream.EOL;

fd

Integer, vraagStreamDe overeenkomstige bestandsdescriptorwaarde, geïmplementeerd door subklassen

1
readonly Integer BufferedStream.fd;

lid functie

readText

lees tekst met gespecificeerde karakters

1
String BufferedStream.readText(Integer size) async;

Oproepparameters:

  • size: geheel getal, specificeer het aantal te lezen teksttekens, afhankelijk van utf8 of het opgegeven aantal gecodeerde bytes

retour resultaat:

  • String, retourneert de gelezen tekenreeks, of null als er geen gegevens zijn om te lezen of als de verbinding is verbroken

readLine

Lees een regel tekst, het einde van de regel is gebaseerd op de instelling van het EOL-attribuut, standaard posix:\"\n\"; windows:\"\r\n\"

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

Oproepparameters:

  • maxlen: geheel getal, specificeert de maximale tekenreeks die deze keer moet worden gelezen, afhankelijk van het aantal bytes dat is gecodeerd in utf8, en het aantal tekens is niet standaard beperkt

retour resultaat:

  • String, retourneert de gelezen tekenreeks, of null als er geen gegevens zijn om te lezen of als de verbinding is verbroken

readLines

Lees een groep tekstregels in een array en de identificatie van het einde van de regel is gebaseerd op de instelling van het EOL-attribuut. Standaard is posix:\"\n\"; windows:\"\r\n\"

1
Array BufferedStream.readLines(Integer maxlines = -1);

Oproepparameters:

  • maxlines: Integer, specificeert het maximum aantal regels om deze keer te lezen, en leest standaard alle tekstregels

retour resultaat:

  • Array, retourneert een reeks gelezen tekstregels, als er geen gegevens zijn om te lezen of de verbinding wordt onderbroken, een lege reeks

readUntil

Lees een tekenreeks die eindigt met de opgegeven byte

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

Oproepparameters:

  • mk: String, specificeer het einde van de string
  • maxlen: geheel getal, specificeert de maximale tekenreeks die deze keer moet worden gelezen, afhankelijk van het aantal bytes dat is gecodeerd in utf8, en het aantal tekens is niet standaard beperkt

retour resultaat:

  • String, retourneert de gelezen tekenreeks, of null als er geen gegevens zijn om te lezen of als de verbinding is verbroken

writeText

schrijf een string

1
BufferedStream.writeText(String txt) async;

Oproepparameters:

  • txt: String, specificeert de string die moet worden geschreven

writeLine

Schrijf een string en schrijf een nieuwe regel

1
BufferedStream.writeLine(String txt) async;

Oproepparameters:

  • txt: String, specificeert de string die moet worden geschreven

read

Lees gegevens van de opgegeven grootte uit de stream

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

Oproepparameters:

  • bytes: geheel getal, geef de hoeveelheid te lezen gegevens op, de standaard is om gegevensblokken van willekeurige grootte te lezen, de grootte van de gelezen gegevens is afhankelijk van het apparaat

retour resultaat:

  • Buffer, retourneert de gegevens die uit de stream zijn gelezen, of null als er geen gegevens zijn om te lezen of als de verbinding is verbroken

write

schrijft de gegeven data naar de stream

1
BufferedStream.write(Buffer data) async;

Oproepparameters:

  • data:Buffer, gezien de gegevens om te schrijven

flush

Schrijf de inhoud van de bestandsbuffer naar het fysieke apparaat

1
BufferedStream.flush() async;

close

sluit het huidige stream-object

1
BufferedStream.close() async;

copyTo

Kopieer streamgegevens naar doelstream

1 2
Long BufferedStream.copyTo(Stream stm, Long bytes = -1) async;

Oproepparameters:

  • stm:Stream, het doelstroomobject
  • bytes: Lang, het aantal gekopieerde bytes

retour resultaat:

  • Long, geeft het aantal gekopieerde bytes terug

toString

Retourneert de tekenreeksrepresentatie van het object, retourneert over het algemeen "[Native Object]", het object kan opnieuw worden geïmplementeerd volgens zijn eigen kenmerken

1
String BufferedStream.toString();

retour resultaat:

  • String, retourneert een tekenreeksrepresentatie van het object

toJSON

Retourneert de weergave in JSON-indeling van het object, retourneert over het algemeen een verzameling leesbare eigenschappen die door het object zijn gedefinieerd

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

Oproepparameters:

  • key: String, niet gebruikt

retour resultaat:

  • Value, die een JSON-serialiseerbare waarde retourneert