• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Node.js服务端03-文件操作

武飞扬头像
懋学的前端攻城狮
帮助1

常用文件操作

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
系列文章
更多 icon
同类精品
更多 icon
继续加载