Maison >interface Web >js tutoriel >Comment puis-je obtenir une liste de noms de fichiers à partir d'un répertoire à l'aide de Node.js ?

Comment puis-je obtenir une liste de noms de fichiers à partir d'un répertoire à l'aide de Node.js ?

DDD
DDDoriginal
2024-11-26 12:00:08502parcourir

How Can I Get a List of File Names from a Directory Using Node.js?

Obtention d'une liste de noms de fichiers dans un répertoire à l'aide de Node.js

Dans Node.js, obtention d'un tableau de noms de fichiers présents dans un répertoire est une nécessité commune. Pour y parvenir, Node.js propose deux méthodes : fs.readdir et fs.readdirSync.

fs.readdir

Il s'agit d'une méthode asynchrone qui prend un chemin de répertoire et une fonction de rappel comme arguments. La fonction de rappel est invoquée avec un objet d'erreur et un tableau de noms de fichiers lorsque le processus de lecture est terminé :

const fs = require('fs');

fs.readdir('test_directory', (err, files) => {
  if (err) {
    // Error handling
  } else {
    files.forEach(file => {
      console.log(file);
    });
  }
});

fs.readdirSync

La contrepartie synchrone de fs.readdir, fs.readdirSync, renvoie immédiatement un tableau de noms de fichiers. Cependant, il peut potentiellement bloquer la boucle d'événements, son utilisation n'est donc généralement pas recommandée :

const fs = require('fs');

const files = fs.readdirSync('test_directory');
files.forEach(file => {
  console.log(file);
});

Il est important de comprendre les conséquences de l'utilisation de fs.readdirSync. Bien qu'il renvoie le tableau souhaité de noms de fichiers, il peut interférer avec les performances de votre application en suspendant tous les autres calculs jusqu'à ce que l'opération de lecture soit terminée.

En revanche, fs.readdir est asynchrone et non bloquant. Il permet à d'autres parties de votre code de s'exécuter pendant que l'opération de lecture est en cours. Cependant, cela nécessite de gérer l'erreur potentielle qui peut survenir lors de l'opération.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn