Node.js-fs模块文件创建、删除、重命名、文件内容的写入、读取以和文件夹的相关操作
一、写入文件操作
异步写入:writeFile()
同步写入:writeFileSync()
const fs = require("fs");
fs.writeFile("目标文件路径", "要写入的内容", err => {
if(err){
console.log(err);
return;
}
console.log("写入成功!");
})
二、文件追加写入操作
异步追加写入:appendFile()
同步追加写入:appendFileSync()
方式一(appendFile):
const fs = require("fs");
fs.appendFile("目标文件路径", "要追加写入的内容", err => {
if(err){
console.log(err);
return;
}
console.log("追加写入成功!");
})
方式二(writeFile):
const fs = require("fs");
fs.writeFile("目标文件路径", "要追加写入的内容", { flag: "a" }, err => {
if(err){
console.log(err);
return;
}
console.log("追加写入成功!");
})
三、文件流式写入操作
fs.createWriteStream( path [, options ] )
- 程序打开一个文件是需要消耗资源的 ,流式写入可以减少打开关闭文件的次数。
- 流式写入方式适用于大文件写入或者频繁写入的场,writeFile 适合于写入频率较低的场景。
// 导入 fs 模块
const fs = require("fs");
// 创建写入流对象
const ws = fs.createWriteStream("目标文件路径");
// write 写入
ws.write("我喜欢你脸红红的样子,");
ws.write("更喜欢你气喘吁吁的样子。");
// 关闭写入流通道
ws.close();
四、文件读取操作
异步读取:readFile()
同步读取:readFileSync()
- 通过程序从文件中取出其中的数据
const fs = require("fs");
fs.readFile("目标文件路径", (err, data) => {
if(err){
console.log(err)
return;
}
// 读取成功后的内容
console.log(data.toString())
})
应用场景: 电脑开机、程序运行、编根器打开文件、查看图片、放视频、放音乐、Git查看日志、上传文件、查找聊天记录等。
五、文件流式读取操作
const fs = requrie("fs");
// 创建读取流对象
const rs = fs.createReadStream("目标文件路径");
// 绑定 data 事件,chunk 表示文件块儿
rs.on("data", chunk => {
console.log(chunk);
})
// end 可选事件
rs.on("end", () => {
console.log("文件读取成功!");
})
六、文件复制操作
- 方式一
// 先读取文件,再把读取到的内容写入到另一个文件中。
const fs = require("fs");
const data = fs.readFileSync("源文件路径");
fs.writeFileSync("目标文件路径", data);
- 方式二(推荐)
// 通过流式操作,占用内存空间少
const fs = requrie("fs");
const rs = fs.createReadStream("源文件路径");
const ws = fs.createWriteStream("目标文件路径");
// 绑定 data 事件
fs.on("data", chunk => {
ws.write(chunk);
})
七、文件重命名和移动操作
异步操作:rename(oldPath, newPath, callback)
同步操作:renameSync(oldPath, newPath)
// 通过 rename 完成文件重命名
const fs = require("fs");
fs.rename("./index.html", "./main.html", err => {
if(err){
console.log(err);
return;
}
console.log("文件重命名成功!");
})
// 通过 rename 完成文件移动
const fs = require("fs");
fs.rename("./index/index.html", "./main/index.html", err => {
if(err){
console.log(err);
return;
}
console.log("文件移动成功!");
})
八、文件删除操作
异步删除:unlink(path, callback)
同步删除:unlinkSync(path)
- 方式一
const fs = requrie("fs");
fs.unlink("要删除的文件路径", err => {
if(err){
console.log(err);
return;
}
console.log("文件删除成功!");
})
异步删除:rm(path, callback)
同步删除:rmSync(path)
- 方式二
const fs = requrie("fs");
fs.rm("要删除的文件路径", err => {
if(err){
console.log(err);
return;
}
console.log("文件删除成功!");
})
九、文件夹操作
创建文件夹:mkdir()
const fs = require("fs");
fs.mkdir("要创建的文件夹", err => {
if(err){
console.log(err);
return;
}
console.log("文件夹创建成功!");
})
递归创建文件夹(多级文件夹目录):
const fs = require("fs");
fs.mkdir("./a/b/c", { recursive: true }, err => {
if(err){
console.log(err);
return;
}
console.log("文件夹创建成功!");
})
读取文件夹:readdir()
const fs = require("fs");
fs.readdir("./index", (err, data) => {
if(err){
console.log(err);
return;
}
// 获取目标文件夹当中资源名称列表
console.log(data);
})
删除文件夹:rmdir()
const fs = require("fs");
fs.rmdir("./index", err => {
if(err){
console.log(err);
return;
}
console.log("删除成功!");
})
递归删除文件夹(多级文件夹目录):
const fs = require("fs");
fs.rm("./index", { recursive: true }, err => {
if(err){
console.log(err);
return;
}
console.log("删除成功!");
})
十、查看资源信息
const fs = require("fs");
// stat status缩写 状态
fs.stat("./index/index.html", (err, data) => {
if(err){
console.log(err);
return;
}
console.log(data); // 获取文件资源信息
console.log(data.isFile()); // true 是否为文件
console.log(data.isDirectory()); // false 是否为文件夹
})
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggaaai
系列文章
更多
同类精品
更多
-
gitee+picgo+typora图床搭建使用gitee搭建图床gitee创建仓库和私人令牌,picgo下载和安装,nodejs下载和安装,typora配置picgo
-
vue使用element-ui的el-upload上传图片至服务器,服务端使用的是node.js对接受的图片进行处理
-
node.js的四种内置模块
-
在uni-app开发编译成小程序时,模板编译错误Module build failed (from ./node_modules/@dcloudio/webpack-uni-mp-loader/lib/
-
internal/modules/cjs/loader.js:883 throw err;
-
Nodejs 从零开始写 即时通讯程序
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01