Node.js服务端03-文件操作
常用文件操作
const { error } = require("console")
const fs = require("fs")
// error-first风格
// 创建目录
fs.mkdir('./avator', (err) => {
console.log(err);
if (err && err.code === 'EEXIST') {
console.log('目录已经存在');
}
})
// 重命名
fs.rename('./avator', 'nice', (err) => {
console.log(err);
})
// 移除目录, 目录必须为空
fs.rmdir('./nice', (err) => {
if (err && err.code === 'ENOENT') {
console.log('目录不存在');
}
// console.log(err);
})
// 覆盖写入文件
fs.writeFile('./avator/a.txt', 'hahaha', (err) => {
console.log(err);
})
// 读取文件
fs.readFile('./avator/a.txt', 'utf-8', (error, data) => {
console.log(error);
console.log(data);
})
// 删除文件
fs.unlink('./avator/a.txt', (err) => {
console.log(err);
})
//读取目录包含哪些文件 遍历删除文件 同步删除文件,阻塞删除目录,解决异步引起的问题
fs.readdir('./avator', (err, data) => {
console.log(err);
console.log(data);
data.forEach(item => {
fs.unlinkSync(`./avator/${item}`)
})
fs.rmdir('./avator', err => {
console.log(err);
})
})
// 读取目录信息
fs.stat('./avator', (err, data) => {
console.log(err);
console.log(data.isFile());
})
//同步操作要进行捕获错误,避免系统崩溃
try {
fs.mkdirSync('./avator')
} catch (error) {
console.log(error);
}
异步操作文件
const fs = require('fs').promises
fs.readdir('./avatar').then( async (data) => {
// let arr = []
// data.forEach(item => {
// arr.push(fs.unlink(`./avator/${item}`))
// })
await Promise.all(data.map(item => fs.unlink(`./avatar/${item}`)))
await fs.rmdir('./avatar')
})
stream 流
读
const fs = require('fs')
const rs = fs.createReadStream('./stream_text.txt', 'utf-8')
rs.on('data', (chunk) => {
console.log(chunk);
})
rs.on('end', () => {
console.log('end');
})
rs.on('error', (err) => {
console.log(err);
})
写
const fs = require('fs')
const ws = fs.createWriteStream('./stream_text.txt', 'utf-8')
ws.write('okkkkkkkkkkkkkkkkkkkkkkkkkk')
ws.end()
管道
const fs = require('fs')
const readStream = fs.createReadStream('./stream_text.txt')
const writeStream = fs.createWriteStream('./02_text.txt')
readStream.pipe(writeStream)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbcaii
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01