沈阳正规制作网站公司,制作网页的最后一个阶段工作是什么,网站设置为信任站点,做好网站建设静态化fs 全称为 file system #xff0c;称之为 文件系统 #xff0c;是 Node.js 中的 内置模块#xff0c; fs模块可以实现与硬盘的交互#xff0c;例如文件的创建、删除、重命名、移动#xff0c;内容的写入读取等以及文件夹相关操作 写入文件 异步写入 // 导入fs模块const f… fs 全称为 file system 称之为 文件系统 是 Node.js 中的 内置模块 fs模块可以实现与硬盘的交互例如文件的创建、删除、重命名、移动内容的写入读取等以及文件夹相关操作 写入文件 异步写入 // 导入fs模块const fs require(fs)// 写入文件
// 参数:file文件名,如果文件不存在会自动创建
// data:待写入的数据会覆盖内容
// options:选项设置(可选)可以配置编码、写入模式等等
// callback:写入回调
// 返回值是undefinedfs.writeFile(./test.txt,helloword,err {// 写入完成之后会自动调用回调函数如果写入失败err是一个错误对象console.log(err)
}) 同步写入 // 写入文件
// 参数:file文件名,如果文件不存在会自动创建
// data:待写入的数据会覆盖内容
// options:选项设置(可选)fs.writeFileSync(./test1.txt,helloword) 追加写入 异步写入 // 以追加的形式写入
fs.appendFile(./test.txt, helloword, err {console.log(err)
}) 同步写入 fs.appendFileSync(./test.txt, helloword, err {console.log(err)
}) 流式写入 程序打开一个文件是需要消耗资源的 流式写入可以减少打开关闭文件的次数,流式写入方式适用于 大文件写入或者频繁写入 的场景, writeFile 适合于 写入频率较低的场景,相当于 程序和文件建立一个通道打开一次持续的写入最终关闭一次 // 导入fs模块const fs require(fs)// 创建写入流对象
// 参数:文件路径、options选项返回值是一个对象
let ws fs.createWriteStream(./text.txt)// 写入的内容
ws.write(aaaa)
ws.write(bbbb)
ws.write(cccc)// 关闭写入流可选显示调用
ws.end() 文件读取 异步读取 // 导入fs模块const fs require(fs)// 异步读取
// 参数:文件路径、options选项配置、回调函数
fs.readFile(./text.txt,(err,data){// 读取到文件之后回调函数会被调用if (err){console.log(读取失败)}else {// 读取到的内容是一个buffer可以使用toString转换console.log(data.toString())}}) 同步读取 let data fs.readFileSync(./text.txt)console.log(data.toString()) 流式读取 // 导入fs模块const fs require(fs)// 创建读取流对象
let rs fs.createReadStream(./text.tx)// 给rs绑定data事件每次读取64k的数据每次读取一次后触发一次chunk回调
rs.on(data, chunk {console.log(chunk)
})// 绑定end事件(可选)
// 全部读取完成后触发end回调
rs.on(end, (){console.log(关闭)
}) 文件移动重命名 使用 rename 或 renameSync 来移动或重命名 文件或文件夹 异步操作 // 参数:oldPath 文件当前的路径 、newPath 文件新的路径 、callback 操作后的回调// 重命名
fs.rename(./text.txt,./run.txt, err {if (err){console.log(err)}else {console.log(成功)}})// 文件移动
fs.rename(./run.txt,../data/run.txt,err {console.log(err)
}) 同步操作 // 参数:oldPath 文件当前的路径 、newPath 文件新的路径
fs.renameSync(./run.txt,./text.txt) 文件删除 异步删除 fs.unlink(./text.txt,err {console.log(err)
}) 同步删除 fs.unlinkSync(./text.txt,err {console.log(err)
}) rm方法删除node14.4版本引入的新方法 // 异步
fs.rm(./text.txt,err {console.log(err)
})// 同步
fs.rmSync(./text.txt) 文件夹操作 创建文件夹 异步创建 // 只能创建一层目录
// 参数:文件路径、选项配置、回调函数
fs.mkdir(./data, err {if (err){console.log(失败)}else {console.log(成功)}
}) 递归异步创建 // 递归创建-可以创建多层目录创建src文件夹在src下创建uti文件夹l在util下创建main文件夹
fs.mkdir(./src/util/main,{recursive:true},err {console.log(err)
}) 同步创建 fs.mkdirSync(./dat1a) 递归同步创建 // 递归创建-可以创建多层目录创建src文件夹在src下创建uti文件夹l在util下创建main文件夹
fs.mkdirSync(./src/util/main,{recursive:true}) 读取文件夹 异步读取 fs.readdir(./,(err,data) {console.log(err)console.log(data) // 是一个数组是文件夹下路径下的资源
}) 同步读取 let data fs.readdirSync(./)
console.log(data) 删除文件夹 异步删除 // 只能删除一层目录
fs.rmdir(./data,err {console.log(err)
})// 递归删除
fs.rmdir(./data/main,{recursive:true},err {console.log(err)
}) 同步删除 fs.rmdirSync(./data)// 递归同步删除
fs.rmdirSync(./data,{recursive:true}) 资源状态 // 异步
fs.stat(./data,(err,data){console.log(err)console.log(data) // 是一个对象包含文件创建时间、体积、类型等等各种信息})// 同步
fs.statSync(./data) __dirname __dirname 与 require 类似都是 Node.js 环境中的全局变量 __dirname 保存着 当前文件所在目录的绝对路径 可以使用__dirname 与文件名拼接成绝对路径 let data fs.readFileSync(__dirname /data.txt);