Maison > interface Web > js tutoriel > le corps du texte

Parlons du module fs et du module path dans le nœud

青灯夜游
Libérer: 2022-04-24 21:00:45
avant
2377 Les gens l'ont consulté

Cet article vous présentera le module du système de fichiers fs et le module de chemin dans node J'espère qu'il vous sera utile !

Parlons du module fs et du module path dans le nœud

module de système de fichiers fs

le module fs est un module officiel fourni par Node.js pour l'exploitation des fichiers. Il fournit une série de méthodes et de propriétés pour répondre aux besoins d'exploitation des fichiers des utilisateurs.

  • Méthode fs.readFile(), utilisée pour lire le contenu du fichier spécifié
  • Méthode fs.writeFile(), utilisée pour écrire le contenu dans le fichier spécifié Si vous souhaitez opérer en code JavaScript, utilisez le fs. module, vous devez d'abord l'importer en utilisant la méthode suivante :
 const fs = reuire('fs')
Copier après la connexion

Lire le contenu du fichier spécifié

1. Le format de syntaxe de fs.readFile()

Utilisez le fichier fs. readFile() , vous pouvez lire le contenu du fichier spécifié. Le format de syntaxe est le suivant :

 fs.readFile(path[, options], callback)
Copier après la connexion
  • Paramètre 1 : Paramètre obligatoire, vous devez spécifier une chaîne de chemin de fichier, indiquant le chemin correspondant au fichier auquel être lu.
  • Paramètre 2 : Paramètre facultatif, indiquant le format d'encodage pour lire le fichier.
  • Paramètre 3 : Paramètre obligatoire. Une fois la lecture du fichier terminée, le résultat de la lecture est obtenu via la fonction de rappel.

2. Exemple de code de fs.readFile()

Lire le contenu du fichier spécifié au format utf8 et imprimer les valeurs de err et data :

 const fs = require('fs');
 fs.readFile('hello.txt', 'utf-8', (err, data) => {
     // 判断是否读取成功
     if (err) return console.log(err);
     console.log(data); 
 });
Copier après la connexion

Écrire le contenu dans le fichier spécifié

1. Le format de syntaxe de fs.writeFile()

Utilisez la méthode fs.writeFile() pour écrire du contenu dans le fichier spécifié. Le format de syntaxe est le suivant :

 fs.writeFile(file, data[, options], callback)
Copier après la connexion
  • Paramètre 1 : obligatoire. paramètre , vous devez spécifier une chaîne de chemin de fichier, indiquant le chemin de stockage du fichier.
  • Paramètre 2 : Paramètre obligatoire, indiquant le contenu à écrire.
  • Paramètre 3 : Paramètre facultatif, indiquant le format dans lequel écrire le contenu du fichier. La valeur par défaut est utf8.
  • Paramètre 4 : paramètre obligatoire, fonction de rappel une fois l'écriture du fichier terminée.

2. Exemple de code de fs.writeFile()

 const fs = require('fs');
 fs.writeFile('./hello.txt', 'hello node', (err) => {
     // 判断是否写入成功
     if (err) return console.log(err);
     console.log('写入成功');
 });
Copier après la connexion

Lire les noms de tous les fichiers dans le répertoire spécifié

1 Le format de syntaxe de fs.readdir()

Utiliser. fs. La méthode readdir() peut lire les noms de tous les fichiers dans le répertoire spécifié. Le format de syntaxe est le suivant :

 fs.readdir(path[, options], callback)
Copier après la connexion
  • Paramètre 1 : Paramètre obligatoire, indiquant dans quel répertoire lire la liste des noms de fichiers.
  • Paramètre 2 : Paramètre facultatif, dans quel format lire le nom du fichier dans le répertoire, la valeur par défaut est utf8.
  • Paramètre 3 : paramètre obligatoire, fonction de rappel une fois la lecture terminée.

2.fs.readdir() exemple de code

Grâce à la méthode fs.readdir(), vous pouvez lire les noms de tous les fichiers dans le répertoire spécifié :

 const fs = require('fs');
 fs.readdir('./', (err, data) => {
     // 错误处理
     if (err) return console.log(err);
     console.log(data);
 });
Copier après la connexion

fs problème d'épissage dynamique du chemin du module

Lors de l'utilisation du module fs pour faire fonctionner des fichiers, si le chemin d'opération fourni est un chemin relatif commençant par ./ ​​ou ../, il est facile de provoquer des erreurs d'épissage de chemin dynamique. En effet, lorsque le code est en cours d'exécution, le chemin complet du fichier exploité sera dynamiquement séparé du répertoire dans lequel la commande node est exécutée.

Solution : lorsque vous utilisez le module fs pour exploiter des fichiers, fournissez directement des chemins absolus et ne fournissez pas de chemins relatifs commençant par ./ ​​ou ../ pour éviter les problèmes d'épissage de chemin dynamique.

Remarque : utilisez __dirname pour obtenir le chemin absolu du fichier actuel

 const fs = require('fs');
 // 拼接要读取文件的绝对路径
 let filepath = __dirname +'/hello.txt'
 fs.readFile(filepath, 'utf-8', (err, data) => {
     // 判断是否读取成功
     if (err) return console.log(err);
     console.log(data); 
 });
Copier après la connexion

module path

Le module path est un module officiellement fourni par Node.js pour le traitement des chemins. Il fournit une série de méthodes et d'attributs pour répondre aux besoins des utilisateurs en matière de traitement des chemins.

  • Méthode path.join(), utilisée pour fusionner plusieurs fragments de chemin en une chaîne de chemin complète
  • Méthode path.basename(), utilisée pour analyser le nom de fichier à partir de la chaîne de chemin

Si vous souhaitez utiliser le chemin module pour traiter les chemins dans le code JavaScript, vous devez d'abord l'importer de la manière suivante :

 const path = require('path')
Copier après la connexion

Épissage de chemin

format de syntaxe path.join()

Utiliser path. divisez plusieurs fragments de chemin en une chaîne de chemin complète. Le format de syntaxe est le suivant :

 path.join([...paths])
Copier après la connexion

Utilisez la méthode path.join() pour fusionner plusieurs fragments de chemin en une chaîne de chemin complète :

 const path = require('path');
 console.log( path.join('a', 'b', 'c') ); // a/b/c
 console.log( path.join('a', '/b/', 'c') ); // a/b/c
 console.log( path.join('a', '/b/', 'c', 'index.html') ); // a/b/c/index.html
 console.log( path.join('a', 'b', '../c', 'index.html') ); // a/c/index.html
 console.log(__dirname); // node自带的全局变量,表示当前js文件所在的绝对路径
 // 拼接成绩.txt的绝对路径
 console.log( path.join(__dirname, '成绩.txt') ); // ------ 最常用的
Copier après la connexion

Obtenez le nom du fichier dans le fichier. path

1. Le format de syntaxe de path.basename()

Utilisez la méthode path.basename() pour obtenir la dernière partie du chemin. Cette méthode est souvent utilisée pour obtenir le nom du fichier. , le format de syntaxe est le suivant :

 path.basename(path[,ext])
Copier après la connexion
  • path 必选参数,表示一个路径的字符串
  • ext 可选参数,表示可选的文件扩展名
  • 返回: 表示路径中的最后一部分

2.path.basename()的代码示例

使用 path.basename() 方法,可以从一个文件路径中,获取到文件的名称部分:

 // 找文件名
 console.log( path.basename('index.html') ); // index.html
 console.log( path.basename('a/b/c/index.html') ); // index.html
 console.log( path.basename('a/b/c/index.html?id=3') ); // index.html?id=3
 console.log(path.basename('/api/getbooks')) // getbooks
Copier après la connexion

获取路径中的文件扩展名

1.path.extname()的语法格式

使用 path.extname() 方法,可以获取路径中的扩展名部分,语法格式如下:

 path.extname(path)
Copier après la connexion
  • path 必选参数,表示一个路径的字符串
  • 返回: 返回得到的扩展名字符串

使用 path.extname() 方法,可以获取路径中的扩展名部分

 // 找字符串中,最后一个点及之后的字符
 console.log( path.extname('index.html') ); // .html
 console.log( path.extname('a.b.c.d.html') ); // .html
 console.log( path.extname('asdfas/asdfa/a.b.c.d.html') ); // .html
 console.log( path.extname('adf.adsf') ); // .adsf
Copier après la connexion

原文地址:https://juejin.cn/post/7088650568150810638

作者:L同学啦啦啦

更多node相关知识,请访问:nodejs 教程

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!

Étiquettes associées:
source:juejin.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal