Objet objet intégré

ObjetBufferedStream

Objet de lecture du cache

L'objet BufferedStream est un objet de flux mis en mémoire tampon utilisé pour la lecture de flux binaire. Il peut mettre en cache son flux sous-jacent et fournir des capacités de lecture de texte. Lorsque vous utilisez l'objet BufferedStream, il vous suffit de transmettre l'objet stream à traiter en tant que paramètre de construction. Méthode de création :

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

BufferedStream hérite deStreamobjet, ayantStreamToutes les méthodes et propriétés de l'objet. Parmi eux, l'attribut stream est utilisé pour interroger l'objet stream lors de la création de l'objet cache. L'objet BufferedStream prend également en charge l'attribut EOL pour interroger et définir l'identifiant de fin de ligne (par défaut, posix :\"\n\" ; windows :\"\r\n\") et l'attribut charset pour interroger et définir le jeu de caractères de traitement d'objet actuel pour le texte, la valeur par défaut est utf-8.

Lorsque l'objet BufferedStream lit les données du flux, il adopte une méthode de bloc pour lire d'abord les données dans le tampon, puis obtenir les données du tampon. Cela peut réduire efficacement le nombre d'interactions réseau lors de la lecture des données du flux et améliorer l'efficacité de la lecture. efficacité.

L'objet BufferedStream fournit également la méthode d'écriture pour écrire les données données dans le flux, et lorsque l'objet de flux sous-jacent est bloqué en écriture, attendez qu'il accepte les données avant de passer à l'étape suivante. La méthode Flush écrit le contenu du tampon de fichier sur un périphérique physique. La méthode close ferme l'objet de flux actuel. L'implémentation spécifique de certaines méthodes peut être implémentée dans des sous-classes.

Lorsque vous utilisez l'objet BufferedStream, vous devez faire attention à ne pas le mélanger avec d'autres objets de flux sous-jacents déjà utilisés, sinon cela pourrait provoquer une lecture répétée des données ou des erreurs de lecture.

Voici un exemple de code qui utilise un objet BufferedStream pour lire le contenu d'un fichier :

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

relation d'héritage

Constructeur

BufferedStream

Constructeur BufferedStream

1
new BufferedStream(Stream stm);

Paramètres d'appel :

  • stm:Stream, l'objet de flux binaire sous-jacent de BufferedStream

propriétés des membres

stream

Stream, Interroge l'objet flux lors de la création de l'objet cache

1
readonly Stream BufferedStream.stream;

charset

Chaîne, interrogez et définissez le jeu de caractères de l'objet actuel lors du traitement du texte, la valeur par défaut est utf-8

1
String BufferedStream.charset;

EOL

Chaîne, interrogez et définissez l'identifiant de fin de ligne. Par défaut, posix:\"\n\"; windows:\"\r\n\"

1
String BufferedStream.EOL;

fd

Entier, requêteStreamLa valeur du descripteur de fichier correspondant, implémentée par les sous-classes

1
readonly Integer BufferedStream.fd;

fonction membre

readText

Lire du texte avec les caractères spécifiés

1
String BufferedStream.readText(Integer size) async;

Paramètres d'appel :

  • size: Entier, spécifie le nombre de caractères de texte à lire, selon la valeur UTF8 ou le nombre spécifié d'octets de codage.

Résultats de retour :

  • String, renvoie la chaîne de texte lue. S'il n'y a aucune donnée à lire ou si la connexion est interrompue, null est renvoyé.

readLine

Lire une ligne de texte. L'identifiant de fin de ligne est basé sur le paramètre de l'attribut EOL. Par défaut, posix:\"\n\"; windows:\"\r\n\"

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

Paramètres d'appel :

  • maxlen: Entier, spécifie la chaîne maximale lue cette fois, en fonction du nombre d'octets de codage utf8. Il n'y a pas de limite sur le nombre de caractères par défaut.

Résultats de retour :

  • String, renvoie la chaîne de texte lue. S'il n'y a aucune donnée à lire ou si la connexion est interrompue, null est renvoyé.

readLines

Lit un groupe de lignes de texte en mode tableau. L'identifiant de fin de ligne est basé sur le paramètre de l'attribut EOL. Par défaut, posix:\"\n\"; windows:\"\r\n\"

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

Paramètres d'appel :

  • maxlines: Entier, spécifie le nombre maximum de lignes à lire cette fois. Par défaut, toutes les lignes de texte sont lues.

Résultats de retour :

  • Array, renvoie un tableau de lignes de texte lues. S'il n'y a aucune donnée à lire ou si la connexion est interrompue, le tableau sera vide.

readUntil

Lire une chaîne de texte se terminant par les octets spécifiés

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

Paramètres d'appel :

  • mk: String, la chaîne spécifiant la fin
  • maxlen: Entier, spécifie la chaîne maximale lue cette fois, en fonction du nombre d'octets de codage utf8. Il n'y a pas de limite sur le nombre de caractères par défaut.

Résultats de retour :

  • String, renvoie la chaîne de texte lue. S'il n'y a aucune donnée à lire ou si la connexion est interrompue, null est renvoyé.

writeText

Écrire une chaîne

1
BufferedStream.writeText(String txt) async;

Paramètres d'appel :

  • txt: String, spécifie la chaîne à écrire

writeLine

Écrivez une chaîne et écrivez un caractère de nouvelle ligne

1
BufferedStream.writeLine(String txt) async;

Paramètres d'appel :

  • txt: String, spécifie la chaîne à écrire

read

Lire les données de taille spécifiée à partir du flux

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

Paramètres d'appel :

  • bytes : Nombre entier, spécifie la quantité de données à lire. La valeur par défaut est de lire des blocs de données de taille aléatoire. La taille des données lues dépend de l'appareil.

Résultats de retour :

  • Buffer, renvoie les données lues à partir du flux. S'il n'y a aucune donnée à lire ou si la connexion est interrompue, null est renvoyé.

write

Écrivez les données données dans le flux

1
BufferedStream.write(Buffer data) async;

Paramètres d'appel :

  • data:Buffer, étant donné les données à écrire

flush

Écrire le contenu du tampon de fichier sur un périphérique physique

1
BufferedStream.flush() async;

close

Fermer l'objet de flux actuel

1
BufferedStream.close() async;

copyTo

Copier les données du flux vers le flux cible

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

Paramètres d'appel :

  • stm:Stream, objet de flux cible
  • bytes: Long, nombre d'octets copiés

Résultats de retour :

  • Long, renvoie le nombre d'octets copiés

toString

Renvoie la représentation sous forme de chaîne de l'objet. Généralement, "[Native Object]" est renvoyé. L'objet peut être réimplémenté en fonction de ses propres caractéristiques.

1
String BufferedStream.toString();

Résultats de retour :

  • String, renvoie la représentation sous forme de chaîne de l'objet

toJSON

Renvoie une représentation au format JSON de l'objet, renvoyant généralement une collection de propriétés lisibles définies par l'objet.

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

Paramètres d'appel :

  • key: Chaîne, non utilisée

Résultats de retour :

  • Value, renvoie une valeur contenant du JSON sérialisable