1.fs文件模块系统

fs 文件系统模块

fs 模块是用来操作文件的模块

导入fs模块

const fs=require("fs");
1.fs.readFile()

方法,用来读取指定文件中的内容

/格式 : fs.readFile( path [,options], callback)
fs.readFile("./files/1.txt", "utf-8", function (err, dataStr) {
  console.log(err);  // 读取成功 err的值为null
                 // 读取失败,则err的值为 错误对象,dataStr的值为undefined
  console.log("-----");
  console.log(dataStr);  // 打印成功的结果
});

参数1:读取文件的存放路径
参数2:读取文件时候采用的编码格式,一般默认指定 utf8
参数3:回调函数,拿到读取失败和成功的结果 err dataStr

  • 判断文件是否读取成功

    const fs = require("fs");
    fs.readFile("./files/1.txt", "utf-8", function (err, dataStr) {
      if (err) {
        return console.log("文件读取失败" + err.message);
      }  
        console.log("文件读取成功,内容是" + dataStr);
      
    });
    
2.fs.writeFile()

用来向指定的文件中写入内容

  1. writeFile 只能写入文件,不能创建文件
  2. 重复调用 fs.wirteFile() 写入同一个文件,新内容会覆盖旧内容
/格式: fs.writeFile(file,data [,options],callback)
const fs = require("fs");
fs.writeFile("./files/2.txt", "asd", function (err) {
  console.log(err); // 如果文件写入成功,则 err 的值等于 null
}); //如果文件写入失败,则 err 的值等于一个 错误对象

参数1:表示文件的存放路径
参数2:表示要写入的内容
参数3:回调函数

  • 判断文件是否写入成功

    const fs = require("fs");
    fs.writeFile("./files/2.txt", "asd", function (err) {
      // console.log(err);
      if(err){
         return console.log(`写入失败 ${err.message}`);
      }
      console.log(`写入成功`);
    });
    

fs模块-路径动态拼接问题

在使用 fs 模块操作文件时,如果提供的操作路径是以 ./ 或 …/ 开头的相对路径时,很容易出现路径动态拼接错误的问题

原因:代码在运行的时候,会以执行 node 命令时所处的目录,动态拼接出被操作文件的完整路径

解决方案:在使用 fs 模块操作文件时,直接提供完整的路径,不要提供 ./ 或 …/ 开头的相对路径,从而防止路径动态拼接的问题

__dirname 表示当前文件所处的目录

fs.readFile(__dirname + '/files/1.txt', 'utf8', function(err, dataStr) {
  if (err) {
    return console.log('读取文件失败!' + err.message)
  }
  console.log('读取文件成功!' + dataStr)
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值