Node.js内置API-fs和path模块
fs文件模块
1. fs.readFile()方法
该方法接受三个参数:path(string类型)、编码格式(可选参数,string类型)、回调函数(function)。
案例:
// 1. 导入 fs 模块,来操作文件
const fs = require('fs')
// 2. 调用 fs.readFile() 方法读取文件
// 参数1:读取文件的存放路径
// 参数2:读取文件时候采用的编码格式,一般默认指定 utf8
// 参数3:回调函数,拿到读取失败和成功的结果 err dataStr
fs.readFile('./files/11.txt', 'utf8', function(err, dataStr) {
// 2.1 打印失败的结果
// 如果读取成功,则 err 的值为 null
// 如果读取失败,则 err 的值为 错误对象,dataStr 的值为 undefined
console.log(err)
console.log('-------')
// 2.2 打印成功的结果
console.log(dataStr)
})
2. fs.writeFile()方法
该方法接受四个参数:path(string类型)、data、编码格式(可选参数,string类型)、回调函数(function)。
案例:
// 1. 导入 fs 文件系统模块
const fs = require('fs');
const path = require('path');
// 2. 调用 fs.writeFile() 方法,写入文件的内容
// 参数1:表示文件的存放路径
// 参数2:表示要写入的内容
// 参数3:回调函数
fs.writeFile(path.join(__dirname,'./files/3.txt'), 'ok123', function(err) {
// 2.1 如果文件写入成功,则 err 的值等于 null
// 2.2 如果文件写入失败,则 err 的值等于一个 错误对象
// console.log(err)
if (err) {
return console.log('文件写入失败!' + err.message)
}
console.log('文件写入成功!')
})
注意事项
代码执行时,会以node命令执行的所处目录动态拼接处操作文件的完整路径,使用__dirname可表示当前文件所在路径。
path路径模块
1. path.join()方法
该方法接受若干个string类型的参数,返回将参数拼接而成的路径。
案例:
const path = require('path')
// 注意: ../ 会抵消前面的路径
const pathStr = path.join('/a', '/b/c', '../../', './d', 'e')
console.log(pathStr) // \a\b\d\e
2. path.basename()方法
该方法接受两个参数:path、ext(扩展名,可选,string)。
返回path中的最后一部分,通常用于获取文件名,参数中加上扩展名,则返回的文件省略扩展名。
案例:
const path = require('path')
// 定义文件的存放路径
const fpath = '/a/b/c/index.html'
const fullName = path.basename(fpath)
console.log(fullName) //index.html
const nameWithoutExt = path.basename(fpath, '.html')
console.log(nameWithoutExt) //index
3. path.extname()方法
接受path,返回path中最后一部分的文件扩展名。
案例:
const path = require('path')
// 这是文件的存放路径
const fpath = '/a/b/c/index.html'
const fext = path.extname(fpath)
console.log(fext) //html