Dans Node.js, le « descripteur de fichier ' est simplement un index entier non négatif dans la table des descripteurs de fichiers. La table des descripteurs de fichiers est un tableau dans le « PCB (bloc de contrôle de processus) » qui conserve les enregistrements de tous les processus d'un système d'exploitation. Il agit comme la référence d'un fichier ouvert qui est utilisé pour identifier ou accéder facilement à un fichier ouvert dans un système d'exploitation. Une fois le fichier ouvert accessible via le bouton « descripteur de fichier 'L'utilisateur peut alors y effectuer l'opération souhaitée selon les besoins.
Cet article montrera comment l'utilisateur peut interagir avec les descripteurs de fichiers dans Node.js.
Comment interagir avec les descripteurs de fichiers dans Node.js ?
L'utilisateur peut interagir avec les descripteurs de fichiers de manière à les récupérer à l'aide des méthodes prédéfinies indiquées ci-dessous du « fs module » :
- Utilisez « fs.open() » pour obtenir un descripteur de fichier
- Utilisez « fs.openSync() » pour obtenir un descripteur de fichier
- Utilisez « fsPromise.open() » pour obtenir un descripteur de fichier
Développons ces méthodes une par une.
Méthode 1 : utilisez « fs.open() » pour obtenir un descripteur de fichier
Le ' fs.open () » est la méthode la plus couramment utilisée du « fs 'Module qui ouvre le fichier de manière asynchrone pour effectuer plusieurs opérations telles que le lire, l'écrire, le renommer, le mettre à jour et le supprimer. De plus, il renvoie également un « descripteur de fichier ' après avoir effectué l'opération définie sur le fichier ouvert via la fonction de rappel.
Syntaxe
La syntaxe de base du « fs.open () » est écrite ci-dessous :
fs. ouvrir ( nom de fichier , drapeaux , mode , rappeler )Selon la syntaxe indiquée ci-dessus, le « fs.open () »la méthode prend en charge les paramètres suivants :
- nom de fichier : Il spécifie le nom ainsi que le chemin du fichier particulier que l'utilisateur souhaite ouvrir.
- drapeaux : Il désigne les opérations qui seront effectuées sur le fichier ouvert. Sa valeur par défaut est « r(read) » par défaut.
- mode : Il indique les autorisations du fichier qui est « 0o666 (à la fois lisible et inscriptible) ' par défaut.
- rappeler : Il s'exécute après l'achèvement du ' fs.open ()' méthode. Il soutient le « se tromper ' paramètre qui renvoie une erreur si se produit pendant l'exécution de la méthode et le 'données' paramètre qui renvoie le ' fd(descripteur de fichier) » pour accéder au fichier ouvert.
Valeur de retour : Le ' fs.open() ' donne un descripteur de fichier comme valeur renvoyée.
Différents indicateurs disponibles utilisés avec les descripteurs de fichiers dans Node.js
Tous les types de drapeaux que le « fs.open() ' Les supports de la méthode pour effectuer les opérations souhaitées sur le fichier ouvert sont répertoriés ci-dessous :
Drapeaux | Description |
---|---|
Dans | Il permet d'écrire le contenu dans un fichier ouvert, sans le présenter un nouveau fichier sera créé. |
w+ | Il est utilisé pour ouvrir le fichier pour y effectuer des opérations de lecture et d'écriture. |
wx | Cela fonctionne de la même manière que le ' Dans ». Toutefois, il ne crée pas le fichier spécifié s'il n'est pas présent dans le système de fichiers. |
wx+ | C'est la même chose que le ' w+ ' Cependant, il échoue si le fichier n'existe pas. |
r | Il ouvre le fichier pour le lire et crée également un nouveau fichier s'il n'est pas présent. |
r+ | Il ouvre le fichier en mode lecture et écriture. |
rs+ | Il ouvre un fichier de manière synchrone pour y effectuer les tâches de lecture et d'écriture. |
un | Il ouvre le fichier pour ajouter son contenu. |
un+ | Il ouvre le fichier pour lire et ajouter son contenu. |
hache | C'est la même chose que le ' un ' mais il ne crée pas de nouveau fichier s'il n'est pas récent dans le système de fichiers. |
hache+ | Cela fonctionne de la même manière que le ' un+ ' Cependant, cela ne crée pas de nouveau fichier. |
Après avoir acquis les bases du « fs.open ()”, passons à sa mise en œuvre pratique pour obtenir le descripteur de fichier.
Exemple : application de la méthode « fs.open() » pour obtenir un descripteur de fichier avec l'indicateur par défaut
Cet exemple montre applique le 'fs.open()' méthode pour ouvrir le fichier spécifié pour lire et renvoyer le descripteur de fichier :
const fs = exiger ( 'fs' ) ;était rés = fs. ouvrir ( 'fichier.txt' , 'r' , fonction ( se tromper , fd ) {
si ( se tromper ) {
console. erreur ( se tromper ) ;
} autre {
console. enregistrer ( « Fichier ouvert ! » ) ;
console. enregistrer ( fd ) ; }
} ) ;
L'explication du bloc de code ci-dessus est la suivante :
- Premièrement, le « exiger () » méthode importe le « fs (système de fichiers) module '.
- Ensuite, le « fs.open ()' méthode spécifie le nom du dossier souhaité, indicateur par défaut ' r », et une fonction de rappel comme premier, deuxième et troisième arguments respectivement. La fonction de rappel transmet en outre le « se tromper ' et le ' fd ' arguments. Cette méthode ouvre le fichier spécifié en lecture, puis exécute la fonction de rappel donnée.
- Dans la définition de la fonction de rappel, un « si ' La déclaration utilise le ' console.erreur() ' pour afficher le message d'erreur qui se produit lors de l'ouverture du fichier spécifié.
- Si aucune erreur ne se produit, alors le « autre ' L'instruction s'exécutera en utilisant le ' console.log () » pour afficher le message de vérification et le « descripteur de fichier » désigné par « fd ' argument.
Sortir
Maintenant, effectue l'exécution pour contenir ' application .js » via :
application de nœud. jsLe résultat ci-dessous montre que le fichier est ouvert en lecture et renvoie également le descripteur de fichier :
Méthode 2 : utilisez « fs.openSync() » pour obtenir un descripteur de fichier
Le ' fs.openSync () » est la méthode prédéfinie du « fs ' module qui ouvre le fichier de manière synchrone pour effectuer des opérations courantes : comme le lire, l'écrire, le renommer, le mettre à jour et le supprimer. Outre ses fonctionnalités de base, cette méthode renvoie un « descripteur de fichier ' directement au lieu d'invoquer la fonction de rappel comme dans le ' fs.open ()' méthode.
Syntaxe
fs. ouvrirSync ( chemin , drapeaux , mode )Les paramètres utilisés dans ce qui précède ' fs.openSync() ' La méthode est expliquée ci-dessous :
- chemin : Il spécifie le nom et le chemin du fichier particulier sous la forme d'une chaîne, d'une URL ou d'un tampon.
- drapeaux : Il désigne la chaîne ou la valeur numérique qui spécifie les opérations qui seront effectuées sur le fichier ouvert. Sa valeur par défaut est « r(read) » par défaut.
- mode : Il indique les autorisations du fichier qui est « 0o666 (à la fois lisible et inscriptible) ' par défaut.
Valeur de retour : Le ' fs.openSync() ' fournit un entier comme valeur renvoyée qui désigne le descripteur de fichier.
Suivez notre guide détaillé sur le « Méthode fs.openSync() » pour une mise en œuvre pratique.
Méthode 3 : utilisez « fsPromise.open() » pour obtenir un descripteur de fichier
Le ' fsPromises.open() » est la méthode prédéfinie du « fs ' module qui ouvre le fichier de manière asynchrone comme une promesse et renvoie un ' descripteur de fichier ». Si la promesse est résolue, il vérifie que le dossier spécifié est ouvert, sinon il est rejeté avec un objet d'erreur.
Syntaxe
fsPromesses. ouvrir ( nom de fichier , drapeaux , mode )Le ' fsPromises.open () » fonctionne sur les trois paramètres suivants :
- nom de fichier : Il indique le nom du fichier particulier et le chemin sous la forme d'une chaîne, d'une URL ou d'un tampon que l'utilisateur souhaite lire par défaut.
- drapeaux : Il peut s'agir d'une chaîne ou d'une valeur entière non négative qui précise les opérations à effectuer sur le fichier ouvert. Sa valeur par défaut est « r(read) » par défaut.
- mode : Il spécifie les autorisations de fichier qui sont « 0o666 (à la fois lisible et inscriptible) ' par défaut.
Valeur de retour : Cela donne un ' promesse ' comme valeur renvoyée du ' fsPromises.open ()' méthode.
Suivez notre guide détaillé sur le « Méthode fsPromises.open() » pour une mise en œuvre pratique.
Quelles différentes opérations peuvent être effectuées avec les descripteurs de fichiers dans Node.js ?
Une fois le descripteur de fichier récupéré, l'utilisateur peut l'utiliser pour accéder à ce fichier particulier afin d'y effectuer différentes opérations comme ouvrir, fermer, lire, écrire et bien plus encore. Pour effectuer ces opérations particulières, suivez notre guide détaillé sur « Module de système de fichiers ».
Il s'agit d'interagir avec les descripteurs de fichiers dans Node.js.
Conclusion
Pour interagir avec les descripteurs de fichiers, utilisez le ' fs.open()', 'fs.openSync() ', ou la ' fsPromises.open() » dans Node.js. Toutes ces méthodes ouvrent le fichier pour y effectuer différentes opérations spécifiées via le ' drapeau ' et renvoie également le paramètre ' descripteur de fichier » qui est la référence du fichier ouvert. Cet article explique comment interagir avec les descripteurs de fichiers dans Node.js.