Ce guide expliquera l'utilisation des flux lisibles dans Node.js.
Comment utiliser des flux lisibles dans Node.js ?
Le ' Lisible ' Les flux sont créés en invoquant le ' créerReadStream() » et les données lues peuvent ensuite être affichées sur la page Web en créant le serveur local. Les auditeurs de l’événement avec l’aide de « sur() ' Des méthodes peuvent également être attachées aux flux lisibles pour afficher des messages ou effectuer des actions spécifiques lorsque la lecture du fichier commence ou se termine.
Jetez un œil à l’exemple pour une démonstration pratique.
Exemple : lecture et affichage de contenu sur le serveur à l'aide de flux lisibles
Dans cet exemple, le contenu d'un fichier fourni est lu puis affiché sur le navigateur Web :
const fsObj = exiger ( 'fs' ) ;
const httpObj = exiger ( 'http' ) ;
const serveur local = httpObj. créer un serveur ( ( demande de réponse ) => {
essayer {
// Fichier ciblé à lire
const flux de données = fsObj. créerReadStream ( 'usecase.txt' ) ;
// Dirige le fichier vers la réponse
flux de données. tuyau ( réponse ) ;
} attraper ( les erreurs ) {
console. erreur ( les erreurs ) ;
}
} ) ;
serveur local. écouter ( 8080 , ( ) => {
console. enregistrer ( 'Le serveur s'exécute sur le numéro de port Localhost : '8080' ' )
} ) ;
La description du code ci-dessus est la suivante :
- Tout d’abord, importez le « requis » fs ' et ' http ' modules et stocker leurs objets dans ' fsObj ' et ' httpObj 'variables respectivement.
- Ensuite, le serveur a été créé en appelant le « créerServeur() ' et stocker ce serveur nouvellement créé dans un ' serveur local » variable.
- Ensuite, utilisez un « essayer » bloquez à l’intérieur de la fonction de rappel de méthode et invoquez le « créerReadStream() ' méthode utilisant le ' fsObj » variable.
- Passez le contenu du fichier ciblé qui doit être lu entre cette parenthèse de méthode et stockez le résultat dans le répertoire « flux de données » variable.
- Insérez le « flux de données ' variable dans le ' .tuyau() » méthode pour envoyer la réponse.
- Utilisez le « attraper 'Bloquer pour gérer les erreurs survenues.
- Enfin, écoutez ou configurez le serveur via le numéro de port ' 8080 ' et affichez le message de réussite à l'aide de sa fonction de rappel.
Exécutez le fichier contenant (controlFlow.js) du code ci-dessus via la commande indiquée ci-dessous :
contrôle du nœudFlow. jsLa sortie générée montre qu’avec l’aide de « .tuyau() ' et ' Flux lisible », les données du fichier ont été lues et envoyées au flux de destination pour être affichées sur la page Web :
Exemple 2 : Lecture de fichiers statiques localement à l'aide de ReadStream
Dans ce cas, le fichier fourni sur le flux est sélectionné et son contenu est ensuite affiché sur la fenêtre de la console à l'aide d'écouteurs d'événements :
const fsObj = exiger ( 'fs' ) ;const fluxObj = fsObj. créerReadStream ( 'usecase.txt' ) ;
fluxObj. sur ( 'données' , ( contenu ) => {
console. enregistrer ( contenu. versChaîne ( ) ) ;
} ) ;
fluxObj. sur ( 'fin' , ( ) => {
console. enregistrer ( ' \n J'ai fini de lire le fichier. ) ;
} ) ;
fluxObj. tuyau ( processus. sortie standard ) ;
La description du code ci-dessus est la suivante :
- Premièrement la ' fs ' Le module est importé et son objet est stocké dans le dossier ' fsObj » variable.
- Ensuite, en utilisant ' fsObj » invoque le « créerReadStream() ' et transmet le chemin du fichier ciblé dont le contenu doit être récupéré. Stocker le résultat de la méthode dans une nouvelle variable « fluxObj ».
- Joindre le « sur() » avec « streamObj » qui appelle une fonction de rappel lorsque « données » est récupéré. Les données récupérées sont transmises en tant que paramètre à la fonction de rappel qui convertit les données au format String et les affiche sur la console.
- Joignez à nouveau le « sur() ' méthode avec ' fluxObj » et cette fois sa fonction de rappel affiche un message de fin lorsque la lecture du fichier est terminée.
La sortie générée après l'exécution du code ci-dessus montre que les données lues le long du message de fin ont été affichées sur la console :
Tout dépend de l’utilisation de flux lisibles dans Node.js.
Conclusion
Pour travailler avec des flux lisibles dans Node.js, la méthode de « créerReadStream() » est invoqué via le « fs 'Objet module. Le chemin du fichier ciblé sur lequel le contenu doit être écrit est ensuite transmis comme paramètre de méthode. Il peut être utilisé avec le ' .tuyau() ' pour effectuer d'autres tâches sur les données récupérées, comme écrire le contenu dans un autre fichier. Cet article a illustré la procédure de travail avec des flux lisibles.