node.js读写文件内容

45 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情

fs文件系统模块

fs模块是node.js官方提供的用来操作文件的模块,提供了一系列的方法和属性

  • fs.readFile()方法:用来读取指定文件内容的
  • fs.writeFile()方法:用来向指定的文件写入内容

在js里要想使用fs模块操作文件需要先导入fs模块,只要安装了node.js就会将fs等模块安装到我们的电脑里,所以直接导入就ok了

const fs=require('fs')

读取指定文件内容

fs.readFile()的语法格式为 fs.readFile(path [,options],callback),被 [] 包裹的参数是可选的,其他的都是必选参数

  • path参数为字符串,表示文件的路径
  • options参数表示以什么编码格式来读取文件
  • callback参数表示回调函数

新建一个txt文件里面写入内容,然后在js文件里使用fs.readFile()读取文件的内容,在控制台运行使用node命令运行js文件,如果读取成功回调函数里的err为null,控制台打印err为null,可以看到txt文件里的内容被成功读取了

const fs=require('fs')

fs.readFile('./1.txt','utf-8',function(err,dataStr){
  console.log(err);
  console.log('-------');
  console.log(dataStr);
})

图片.png

指定文件中写入内容

fs.writeFile()的语法格式为 fs.writeFile(file,data [,options],callback)

  • file参数为字符串:指定文件的路径
  • data参数表示要写入的内容
  • options参数表示以什么编码格式来写入文件
  • callback参数表示回调函数

当我们输入node命令运行js文件时,控制台打印出了'文件写入成功',而txt文件里的内容也被修改成了指定的内容

const fs=require('fs')

fs.writeFile('./1.txt','123456',function(err){
  if(err){
    return console.log('文件写入错误'+err.message);
  }
  console.log('文件写入成功');
})

图片.png

总结

无论是写入还是读取文件,都可以判断err参数是否为null,如果不是代表文件读写失败了,可以在控制台里打印err.message查看报错原因