nodejs项目实战教程07——fs模块中的流以及管道流

1. 文件可写流

在demo08文件夹中,创建以下文件,往input.txt文件中写入字符
在这里插入图片描述

app.js:

const fs = require('fs')
let str = ''

for(let i = 0;i < 5000;i++){
    
    
  str = str + '这是数据库的数据,需要保存起来hhhhhhhhhhhh\n'
}

// 创建写入流
let writeStream = fs.createWriteStream('./data/input.txt')

// 往文件中写入
writeStream.write(str)

// 标记写入完成,不加的话无法触发finish事件
writeStream.end()

writeStream.on('finish',()=>{
    
    
  console.log('写入完成')
})


在这里插入图片描述

2. 文件可读流

从input.txt文件中以流的方式读取字符,并且计算读取次数。
app02.js:

const fs = require('fs')
let str = ''
let count = 0

// 创建读取流
let readStream = fs.createReadStream('./data/input.txt')

// 获取文件中的字符,并且计算读取次数
readStream.on('data',(data)=>{
    
    
  str = str + data
  count++
})

// 输出读取结果和次数
readStream.on('end',()=>{
    
    
  console.log('str:',str)
  console.log('count:',count)
})

readStream.on('error',(err)=>{
    
    
  console.log('error:',err)
})

在这里插入图片描述

3. 文件管道流——主要用于复制大文件

将一张图片以管道的方式复制到data文件夹中
在这里插入图片描述
app03.js:

const fs = require('fs')

let readStream = fs.createReadStream('./a.jpg')
let writeStream = fs.createWriteStream('./data/a.jpg')

// 将读取流的数据以管道的形式复制到写入流的文件中
readStream.pipe(writeStream)

在这里插入图片描述
下一章 nodejs项目实战教程08——创建静态Web服务器

猜你喜欢

转载自blog.csdn.net/qq_39055970/article/details/121212075
今日推荐