Oggetto oggetto incorporato

ObjectBufferedStream

Oggetto di lettura della cache

L'oggetto BufferedStream è un oggetto flusso bufferizzato utilizzato per la lettura del flusso binario. Può memorizzare nella cache il flusso sottostante e fornire funzionalità di lettura del testo. Quando utilizzi l'oggetto BufferedStream, devi solo passare l'oggetto stream da elaborare come parametro di costruzione. Metodo di creazione:

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

BufferedStream eredita daStreamoggetto, avereStreamTutti i metodi e le proprietà dell'oggetto. Tra questi, l'attributo stream viene utilizzato per interrogare l'oggetto stream durante la creazione dell'oggetto cache. L'oggetto BufferedStream supporta anche l'attributo EOL per interrogare e impostare l'identificatore di fine riga (predefinito, posix:\"\n\"; windows:\"\r\n\") e l'attributo charset per interrogare e impostare l'oggetto corrente in elaborazione Set di caratteri per il testo, il valore predefinito è utf-8.

Quando l'oggetto BufferedStream legge i dati del flusso, adotta un metodo a blocchi per leggere prima i dati nel buffer e quindi ottenere i dati dal buffer. Ciò può ridurre efficacemente il numero di interazioni di rete durante la lettura dei dati del flusso e migliorare l'efficienza di lettura. efficienza.

L'oggetto BufferedStream fornisce anche il metodo di scrittura per scrivere i dati forniti nel flusso e, quando l'oggetto flusso sottostante è bloccato in scrittura, attendere che accetti i dati prima di procedere al passaggio successivo. Il metodo Flush scrive il contenuto del buffer del file su un dispositivo fisico. Il metodo close chiude l'oggetto stream corrente. L'implementazione specifica di alcuni metodi può essere implementata in sottoclassi.

Quando si utilizza l'oggetto BufferedStream, è necessario fare attenzione a non mescolarlo con altri oggetti stream sottostanti già in uso, altrimenti potrebbe causare letture ripetute di dati o errori di lettura.

Ecco un codice di esempio che utilizza un oggetto BufferedStream per leggere il contenuto di un file:

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

rapporto ereditario

Costruttore

BufferedStream

Costruttore BufferedStream

1
new BufferedStream(Stream stm);

Parametri di chiamata:

  • stm:Stream, l'oggetto flusso binario sottostante di BufferedStream

proprietà dei membri

stream

Stream, Interrogare l'oggetto stream durante la creazione dell'oggetto cache

1
readonly Stream BufferedStream.stream;

charset

Stringa, interroga e imposta il set di caratteri dell'oggetto corrente durante l'elaborazione del testo, il valore predefinito è utf-8

1
String BufferedStream.charset;

EOL

Stringa, interroga e imposta l'identificatore di fine riga. Per impostazione predefinita, posix:\"\n\"; windows:\"\r\n\"

1
String BufferedStream.EOL;

fd

Intero, interrogazioneStreamIl valore del descrittore di file corrispondente, implementato dalle sottoclassi

1
readonly Integer BufferedStream.fd;

funzione membro

readText

Leggere il testo con i caratteri specificati

1
String BufferedStream.readText(Integer size) async;

Parametri di chiamata:

  • size: numero intero, specifica il numero di caratteri di testo da leggere, a seconda di quale sia UTF8 o il numero specificato di byte di codifica.

Risultati restituiti:

  • String, restituisce la stringa di testo letta. Se non ci sono dati da leggere o la connessione viene interrotta, viene restituito null.

readLine

Legge una riga di testo. L'identificatore di fine riga si basa sull'impostazione dell'attributo EOL. Per impostazione predefinita, posix:\"\n\"; windows:\"\r\n\"

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

Parametri di chiamata:

  • maxlen: intero, specifica la stringa massima letta questa volta, in base al numero di byte di codifica utf8. Per impostazione predefinita non esiste alcun limite al numero di caratteri.

Risultati restituiti:

  • String, restituisce la stringa di testo letta. Se non ci sono dati da leggere o la connessione viene interrotta, viene restituito null.

readLines

Legge un gruppo di righe di testo in modalità array. L'identificatore di fine riga si basa sull'impostazione dell'attributo EOL. Per impostazione predefinita, posix:\"\n\"; windows:\"\r\n\"

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

Parametri di chiamata:

  • maxlines: Numero intero, specifica il numero massimo di righe da leggere questa volta. Per impostazione predefinita, vengono lette tutte le righe di testo.

Risultati restituiti:

  • Array, restituisce un array di righe di testo lette. Se non ci sono dati da leggere o la connessione viene interrotta, l'array sarà vuoto.

readUntil

Legge una stringa di testo che termina con i byte specificati

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

Parametri di chiamata:

  • mk: String, la stringa che specifica la fine
  • maxlen: intero, specifica la stringa massima letta questa volta, in base al numero di byte di codifica utf8. Per impostazione predefinita non esiste alcun limite al numero di caratteri.

Risultati restituiti:

  • String, restituisce la stringa di testo letta. Se non ci sono dati da leggere o la connessione viene interrotta, viene restituito null.

writeText

Scrivi una stringa

1
BufferedStream.writeText(String txt) async;

Parametri di chiamata:

  • txt: String, specifica la stringa da scrivere

writeLine

Scrivi una stringa e scrivi un carattere di nuova riga

1
BufferedStream.writeLine(String txt) async;

Parametri di chiamata:

  • txt: String, specifica la stringa da scrivere

read

Leggere i dati della dimensione specificata dal flusso

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

Parametri di chiamata:

  • bytes: Numero intero, specifica la quantità di dati da leggere. L'impostazione predefinita prevede la lettura di blocchi di dati di dimensione casuale. La dimensione dei dati letti dipende dal dispositivo.

Risultati restituiti:

  • Buffer, restituisce i dati letti dallo stream. Se non ci sono dati da leggere o la connessione viene interrotta, viene restituito null.

write

Scrivere i dati forniti nello stream

1
BufferedStream.write(Buffer data) async;

Parametri di chiamata:

  • data:Buffer, dati i dati da scrivere

flush

Scrive il contenuto del buffer del file sul dispositivo fisico

1
BufferedStream.flush() async;

close

Chiude l'oggetto stream corrente

1
BufferedStream.close() async;

copyTo

Copia i dati del flusso nel flusso di destinazione

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

Parametri di chiamata:

  • stm:Stream, oggetto flusso di destinazione
  • bytes: Lungo, numero di byte copiati

Risultati restituiti:

  • Long, restituisce il numero di byte copiati

toString

Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.

1
String BufferedStream.toString();

Risultati restituiti:

  • String, restituisce la rappresentazione di stringa dell'oggetto

toJSON

Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.

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

Parametri di chiamata:

  • key: Stringa, non utilizzata

Risultati restituiti:

  • Value, restituisce un valore contenente JSON serializzabile