Node.js API -- 文件系统模块fs

Node.js API – 文件系统模块fs

1.认识fs

fs 模块是 Node.js 官方提供的,用来操作文件的模块,它提供了一系列的方法和属性,来满足用户对文件的操作需求

例如

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

如果再JavaScript代码中,使用 fs 模块来操作文件,则需要先导入:

const fs = require('fs')
//这个 'fs' 是在安装node时就已经安装到电脑上的

2. 读取 指定文件中的内容

fs.readFile() 语法格式
fs.readFile(path [,options],callback)
//中括号中的是可选参数
  • 参数1:文件路径,字符串
  • 参数2:可选参数,表示以什么编码格式来读取文件 ,默认是 ‘utf8’
  • 参数3:必选参数,文件读取完后,通过回调函数拿到读取的结果,function(err,data)

fs的执行过程值得注意

判断是否读取成功

可以判断 err 的值是否为 null

    if (err) {
        console.log('文件读取失败:' + err.message)
    } else {
        console.log("文件读取成功,内容是:" + data)
    }

3.向指定文件中 写入 内容

fs.writeFile() 语法格式
fs.writeFile(path,data [,options],callback)
  • 参数1:需要指定一个 文件路径的字符串,表示文件的存放路径
  • 参数2:表示要写的内容
  • 参数3:写入内容的 格式,默认格式是 utf8
  • 参数4:写完之后的回调函数 function(err){}

示例

var fs = require('fs')
fs.writeFile('./aaa.txt', "hello Node.js", function (err) {
    console.log(err)
})
判断文件是否写入

可以判断 err 的值是否为 null

if (err) {
    console.log('文件写入失败:' + err.message)
} else {
    console.log("文件写入成功)
}

4.路径动态拼接问题(__dirname)

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

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

**解决方案1:**直接提供一个 完整的 存放路径/读取路径(绝对路径中的/ 都换成//)(但移植性差,不利于维护)

解决方法2:使用 __dirname 表示当前文件所处的目录

//导入 fs 系统文件模块
var fs = require('fs')
fs.writeFile(__dirname + '/aaa.txt', "hello Node", function (err) {
    console.log(err)
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值