Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation.

Par Timilehin Omolana
PartagerTweeterPartagerPartagerPartagerE-mail

Travailler avec des fichiers est l'une des tâches les plus courantes qu'un programme effectue, alors économisez du temps et des efforts avec la bibliothèque d'assistance de Node.

L'une des fonctionnalités intégrées de Node.js est la manipulation du système de fichiers du système d'exploitation à l'aide du module fs. Ce module Node.js contient de nombreuses fonctions utiles pour travailler avec des fichiers et des répertoires.

Les fichiers sont simplement appelés objets persistants ou blocs de données qui sont généralement stockés sur un support dur appelé disque ou mémoire. Les fichiers peuvent être de différents types, des fichiers texte aux fichiers image, en passant par les fichiers audio et bien d'autres.

instagram viewer

Alors, qu'est-ce qu'un système de fichiers et comment interagir facilement avec le système de fichiers d'un système d'exploitation dans Node.js ?

Qu'est-ce qu'un système de fichiers ?

Un système de fichiers définit la façon dont un système d'exploitation peut identifier, organiser, stocker et accéder aux fichiers, ainsi que d'autres opérations.

Le système de fichiers d'un système d'exploitation effectue également le travail de regroupement des fichiers en collections appelées répertoires ou dossiers. Les fichiers et répertoires ordinaires sont les parties les plus courantes d'un système de fichiers avec lesquelles interagissent souvent parmi beaucoup d'autres.

Quelques exemples de systèmes de fichiers incluent le système de fichiers de nouvelle technologie (NTFS), le système de fichiers UNIX (UFS) et le système de fichiers hiérarchique (HFS).

Qu'est-ce que le module Node.js fs ?

Le Node.js fs Le module est une bibliothèque intégrée fournie par Node.js pour travailler avec le système de fichiers de tout système d'exploitation prenant en charge Node. Le fs est facilement accessible et est la bibliothèque de référence pour les opérations sur les fichiers telles que lecture de fichiers ou écrire des données dans des fichiers dans Node.js.

Il est très couramment utilisé avec le chemin et os modules pour effectuer diverses opérations sur les fichiers. Pour utiliser le fs module dans vos programmes, vous pouvez l'importer dans votre code source comme indiqué dans le code ci-dessous.

// CommonJS
constante fs = exiger('fs')

// ES6
importer fs depuis 'fs'

Qu'est-ce que le module de chemin Node.js ?

Vous pouvez utiliser le Node.js chemin module pour manipuler les chemins de fichiers. Il comprend des utilitaires pour interagir facilement avec les chemins de fichiers et de répertoires. En utilisant le fs et chemin modules en tandem pour accomplir une tâche est une pratique courante. C'est parce que la majorité des fs les fonctions du module dépendent des chemins vers les fichiers ou répertoires cibles pour fonctionner.

Vous pouvez importer le chemin module dans votre code avec la syntaxe ci-dessous :

// CommonJS
constante chemin = exiger('chemin')

// ES6
importer chemin depuis 'chemin'

Fonctions communes pour accéder au système de fichiers dans Node.js

Voici les Node.js les plus couramment utilisés fs et chemin fonctions du module et comment les utiliser pour interagir avec les fichiers et les répertoires.

Travailler avec des chemins

  1. path.resolve : Il s'agit de la fonction de résolution d'un chemin à partir d'une liste d'instructions de chemin passées en paramètres. Par exemple:
    path.resolve('home', 'projects', 'web');
    // Retour /home/projects/web

    path.resolve('home/projects/web', '../mobile');
    // Retour /home/projects/mobile

  2. path.normalize : Le normaliser renvoie le chemin correct et normalisé à partir d'un chemin d'entrée donné. Par exemple:
    path.normalize('home/projects/web/../mobile/./code');
    // renvoie home/projects/mobile/code
  3. path.join : Cette fonction construit un chemin à partir de plusieurs segments. Par exemple:
    path.join('home', 'projects', '../', 'movies');
    // retourne à la maison/films
  4. chemin.basename : Le nom de base La fonction renvoie le segment de chemin final. Vous pouvez l'utiliser de deux manières :
    path.basename('home/projects/web/index.js');
    // retourne index.js

    path.basename('home/projects/web/index.js', '.js');
    // supprime l'extension et retourne 'index'

  5. chemin.dirname : Cette fonction renvoie le chemin vers le dernier répertoire d'un chemin donné. Exemple:
    chemin.dirname('home/projects/web/index.js');
    // renvoie home/projets/web
  6. chemin.extname : Avec cette fonction, vous pouvez obtenir l'extension d'un fichier à partir d'un chemin donné.
    path.extname('home/projects/web/index.js');
    // retourne '.js'

Ouverture et fermeture de fichiers

  1. fs.open : Il s'agit de la fonction permettant d'ouvrir ou de créer un fichier de manière synchrone dans Node.js. La forme synchrone de fs.open est fs.openSync. fs.ouvrir unaccepte quatre arguments qui sont le chemin du fichier, les drapeaux, le mode d'ouverture et une fonction de rappel. Drapeaux et ouvrirmode ont une valeur par défaut, et vous pouvez en savoir plus à leur sujet à partir du Node.js fs.open Documentation.
    constante filePath = path.join (__dirname, '/videos/nouvelleVidéo.mp4');
    // __dirname renvoie le chemin vers le répertoire de travail courant.
    // cheminFichier = /videos/newVideo.mp4

    fs.open (filePath, (error, fileDescriptor) => {
    // gère les erreurs
    console.log (fileDescriptor); // imprime un entier représentant le descripteur de fichier
    })

  2. fs.close : Il est recommandé de toujours fermer tous les fichiers ouverts lorsqu'ils ne sont plus nécessaires. Node.js a le fs.close fonction pour cela:
    fs.open (filePath, (error, fileDescriptor) => {
    // gère les erreurs, telles que 'le fichier/répertoire n'existe pas'
    console.log (fileDescriptor);

    // ferme le fichier
    fs.close (fileDescriptor, (erreur) => {
    // gère les erreurs
    console.log('Fichier fermé avec succès');
    });
    })

Création et suppression

  1. fs.mkdir : Cela fonctionne exactement comme le mkdir commande terminal qui crée un nouveau répertoire. Il prend un chemin, un mode (facultatif) et une fonction de rappel comme paramètres. Vous pouvez l'utiliser comme ceci :
    constante dirPath = path.join (__dirname, 'newDirectory');
    fs.mkdir (dirPath, (erreur) => {
    // gère les erreurs
    console.log('Nouveau répertoire créé avec succès');
    });
  2. fs.unlink : Cette fonction supprime ou supprime le fichier au chemin passé en argument. Considérez l'exemple de code ci-dessous :
    constante filePath = path.join (_dirname, 'oldFile.js');

    fs.unlink (filePath, (erreur) => {
    // gère les erreurs
    console.log('Le fichier a été supprimé avec succès');
    });

  3. fs.rmdir : Cette méthode supprime le répertoire à un chemin donné. Son utilisation est très similaire à la méthode unlink :
    constante dirPath = path.resolve('home', 'projects', 'web');

    fs.rmdir (dirPath, (erreur) => {
    // gère les erreurs
    console.log('Répertoire supprimé avec succès');
    })

  1. fs.existe : Le existe La méthode vérifie si le fichier à un chemin donné existe. La mise en œuvre est la suivante :
    laisser filePath = path.join (__dirname, 'index.html');

    fs.exists (filePath, (existe) => {
    console.log (existe) // vrai ou faux
    })

  2. fs.stat : Il s'agit d'une fonction synchrone qui renvoie les propriétés d'un fichier. Il renvoie une fs. Statistiques objet qui expose certaines méthodes pour accéder aux propriétés du fichier. Voici un exemple :
    fs.stat('index.js', (erreur, statistiques) => {
    console.log (statistiques); // affiche les propriétés de bas niveau du fichier
    stats.isFile(); // renvoie vrai
    stats.isDirectory(); // renvoie faux
    })

Vous devriez utiliser le chemin lorsque vous travaillez avec des chemins de fichiers, car ils vous évitent des comportements inattendus sur toutes les plates-formes. Le Node.js fs et Chemin Node.js documentation décrivent une liste exhaustive de méthodes.

Manipulation du système de fichiers dans Node.js

L'immensité de la fs facilite l'accès et l'interaction avec les fichiers sur n'importe quel système d'exploitation. Lorsque vous l'utilisez avec le chemin module, vous êtes ouvert à plus de fonctionnalités et pouvez manipuler le système de fichiers comme vous le souhaitez.

Un avantage majeur de Node.js est sa portabilité. Vous pouvez développer vos applications sur n'importe quelle plate-forme et les déployer n'importe où sans vous soucier des problèmes de compatibilité de base.

Apprenez à écrire des fichiers dans Node

Lire la suite

PartagerTweeterPartagerPartagerPartagerE-mail

Rubriques connexes

  • La programmation
  • Javascript
  • Système de fichiers

A propos de l'auteur

Timilehin Omolana (9 articles publiés)

Timilehin est un ingénieur logiciel et rédacteur technique qui aime explorer le monde des technologies côté serveur et des systèmes distribués.

Plus de Timilehin Omolana

Commentaire

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner