Maison  >  Article  >  interface Web  >  Un article expliquant en détail comment lire et écrire des fichiers dans Nodejs

Un article expliquant en détail comment lire et écrire des fichiers dans Nodejs

青灯夜游
青灯夜游avant
2022-06-28 10:19:232552parcourir

Comment exploiter les fichiers dans

Node ? L'article suivant explique comment utiliser Nodejs pour lire et écrire des fichiers. J'espère qu'il vous sera utile !

Un article expliquant en détail comment lire et écrire des fichiers dans Nodejs

La manipulation de fichiers est une fonction de base du serveur et l'une des capacités nécessaires au développement back-end.

L'exploitation des fichiers comprend principalement la lecture et l'écriture. Et ces fonctions Nodejs ont déjà fourni les méthodes correspondantes. Appelez-le.

Créer un dossier

Méthode de synchronisation

const fs = require('fs')
fs.mkdirSync(`${__dirname}/雷猴`)

NodeJS a un module de fichier appelé fs . Pour opérer sur des fichiers, ce module doit être introduit en premier. NodeJS 有一个文件模块,叫 fs 。对文件操作的话,必须先引入这个模块。

使用 fs.mkdirSync 方法可以创建一个文件夹。里面传入要创建的文件夹的名字即可。

__dirname  指的是当前文件所在文件夹的绝对路径。

异步创建

const fs = require('fs')
fs.mkdir(`${__dirname}/雷猴`, err => {
  if (err) {
      console.error(err)
  }
})

使用 fs.mkdir 方法可以进行异步创建,第一个参数也是文件夹名称,第二个是回到函数,该函数里有一个 err 参数,可以返回错误信息。

删除文件

创建完文件夹,本来是想讲 “删除文件夹” 的。但由于删除文件夹之前要清空里面所有文件,所以就把 删除文件 的用法放在前面讲。

删除文件分 同步异步 两种方法。

同步 fs.unlinkSync

const fs = require('fs')
fs.unlinkSync(`${__dirname}/test.txt`);

fs.unlinkSync 里传入要删除的文件路径和文件名,即可删除指定文件。

异步 fs.unlink

const fs = require('fs')
fs.unlink(`${__dirname}/test.txt`, err => {
  if (err) {
      console.error(err)
  }
})

fs.unlink 方法有2个参数,第一个参数是文件路径和文件名,第二个参数是监听删除失败的回调函数。

删除文件夹

删除文件夹之前要清空目标文件夹里的所有文件。 可以使用 fs.unlinkSyncfs.unlink 删除文件。

同步

const fs = require('fs')
fs.rmdirSync(`${__dirname}/雷猴`)

异步

const fs = require('fs')
fs.rmdir(`${__dirname}/雷猴`, err => {
  if (err) {
      console.error(err)
  }
})

和删除文件的用法差不多,删除文件夹的方法也有同步和异步,异步接受2个参数,第二个参数同样是监听报错的回调。

写入数据

const fs = require('fs')
const content = ' 雷猴雷猴\n'
const opt = {
  flag: 'a', // a:追加写入;w:覆盖写入
}

fs.writeFile('test.txt', content, opt, (err) => {
  if (err) {
      console.error(err)
  }
})

fs.writeFile 方法可以将内容写入文件中。如果文件不存在,会自动创建文件。

fs.writeFile 参数说明:

  • 第一个参数:文件名
  • 第二个参数:写入的内容
  • 第三个参数:写入模式(追加、覆盖等)
  • 第四个参数:错误信息监听

读取数据

const fs = require('fs')
fs.readFile('fileName', (err, data) => {
  if (err) {
      console.error(err)    
      return
  }  
  // data 是二进制类型,需要转换成字符串  
  console.log(data.toString())
})

使用 fs.readFile 方法可以读取数据,第一个参数是文件名;第二个参数是回调,err 监听错误信息,data 是读取回来的数据。

需要注意的是,读取回来的 data 是一个二进制类型的数据,需要使用 toString() 方法转换成我们读得懂的数据。

检查文件是否存在

const fs = require('fs')
const exist = fs.existsSync('fileName')
console.log(exist)

使用 fs.existsSync 方法可以检测指定文件是否存在,如果存在就返回 true ;否则返回 false

总结

如果你使用 NodeJS

Utilisez la méthode fs.mkdirSync pour créer un dossier. Entrez simplement le nom du dossier à créer.

__dirname fait référence au chemin absolu du dossier où se trouve le fichier actuel.

Création asynchrone

🎜rrreee🎜Utilisez la méthode fs.mkdir pour créer de manière asynchrone. Le premier paramètre est également le nom du dossier et le deuxième paramètre est la fonction de retour. Le paramètre err peut renvoyer des informations d'erreur. 🎜🎜🎜Supprimer des fichiers🎜🎜🎜Après avoir créé le dossier, je voulais à l'origine parler de "supprimer le dossier". Mais comme vous devez effacer tous les fichiers du dossier avant de le supprimer, l'utilisation de 🎜Supprimer les fichiers🎜 sera abordée en premier. 🎜🎜La suppression de fichiers est divisée en deux méthodes : 🎜synchrone🎜 et 🎜asynchrone🎜. 🎜🎜🎜Synchronisation fs.unlinkSync🎜🎜rrreee🎜fs.unlinkSync Saisissez le chemin du fichier et le nom du fichier à supprimer pour supprimer le fichier spécifié. La méthode 🎜🎜🎜Asynchrone fs.unlink🎜🎜rrreee🎜fs.unlink a 2 paramètres. Le premier paramètre est le chemin et le nom du fichier, et le deuxième paramètre est la fonction de rappel qui surveille l'échec de la suppression. 🎜🎜🎜Supprimer le dossier🎜🎜🎜🎜Avant de supprimer un dossier, effacez tous les fichiers du dossier cible. 🎜 Les fichiers peuvent être supprimés en utilisant fs.unlinkSync ou fs.unlink. 🎜🎜🎜Synchronous🎜🎜rrreee🎜🎜Asynchronous🎜🎜rrreee🎜 est similaire à la suppression de fichiers. Il existe également des méthodes synchrones et asynchrones pour supprimer des dossiers. Asynchrone accepte 2 paramètres, et le deuxième paramètre est également un rappel pour surveiller les rapports d'erreur. La méthode 🎜🎜🎜Write data🎜🎜rrreee🎜fs.writeFile peut écrire du contenu dans un fichier. Si le fichier n'existe pas, il sera automatiquement créé. 🎜🎜fs.writeFile Description du paramètre : 🎜
  • Premier paramètre : nom du fichier
  • Deuxième paramètre : contenu écrit
  • Le troisième paramètre : mode d'écriture (ajouter, écraser, etc.)
  • Le quatrième paramètre : surveillance des messages d'erreur
🎜🎜Lire les données🎜🎜rrreee🎜Utiliserfs.readFile code> peut lire les données. Le premier paramètre est le nom du fichier ; le deuxième paramètre est le rappel err qui écoute les informations d'erreur. data. 🎜🎜Il convient de noter que la relecture des data est un type de données binaire et doit être convertie en données que nous pouvons comprendre à l'aide de la méthode toString(). 🎜🎜🎜Vérifiez si le fichier existe🎜🎜rrreee🎜Utilisez la méthode fs.existsSync pour vérifier si le fichier spécifié existe. S'il existe, renvoyez true ; faux . 🎜🎜🎜Résumé🎜🎜🎜Si vous utilisez <code>NodeJS comme backend, vous ne pouvez pas échapper aux connaissances en lecture et en écriture de fichiers. Sa fonction la plus courante peut écrire des journaux, tels que la collecte de journaux d'erreurs, etc. 🎜🎜Nous pouvons également écrire des journaux dans la base de données, mais tous les ordinateurs n'ont pas la même base de données installée. Mais si vous écrivez le journal dans un fichier, le contenu du fichier peut généralement être facilement ouvert sur d’autres ordinateurs. 🎜🎜Pour plus de connaissances sur les nœuds, veuillez visiter : 🎜tutoriel 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer