Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Node.js学习之路08——fs文件系统之stream流的基本介绍大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_262_4@9. stream
用途 使用异步方式 使用同步方式
文件完整读入缓存区 readFile readFileSync
文件部分读入缓存区 read readSync
将数据完整写入文件 writeFile writeFileSync
将缓存区中的部分内容写入文件 write writeSync
  • 的概念
  • Node.js中各种用于读取数据的对象
对象 描述
fs.ReadStream 用于读取文件
http.Incomingmessage 代表客户端请求或服务器端响应
net.socket 代表一个socket端口对象
child.stdout 用于创建子进程的标准输出流。如果子进程和父进程共享输入输出流,则子进程的标准输出流被废弃
child.stderr 用于创建子进程的标准错误输出流。如果子进程和父进程共享输入输出流,则子进程的标准错误输出流被废弃
process.stdin 用于创建进程的标准输入流
Gzip,Deflate,DeflatRaw 用于实现数据压缩

9.1 使用ReadStream对象读取文件

  • fs.createReadStream(path,[options])
  • options参数@H_618_135@

    • flags: 'r',//default,
    • encoding: 'utf8',//base64,ascii,null(default),
    • autoClose: true(default),//false
    • start: 使用整数值来指定文件的开始读取位置
    • end: 使用整数值来指定文件的结束读取位置
const fs = require('fs');
let filename = './one.js'
let file = fs.createReadStream(filename,{
    start: 0,end: 100,encoding: 'utf8'
});

file.on('open',(fd) => {
    console.log('open file and start read this file stream..');
});

file.pause(); // 暂停读取文件流

file.on('data',(data) => {
    console.log(`读取到文件内容,${data}`);
});

file.resume(); // 恢复读取文件流

file.on('end',() => {
    console.log('文件读取结束');
});

file.on('close',() => {
    console.log('文件关闭');
});

file.on('error',(err) => {
    console.log(`文件读取错误,${err}`);
});
/***
 * open file and start read this file stream..
 * 读取到文件内容,Hello
 * 文件读取结束
 * 文件关闭
 */

9.2 使用WriteStream对象写入文件

  • fs.createWriteStream(path,[options])
const fs = require('fs');
let readFilename = './readFilename.js';
let writeFilename = './writeFilename.js';
let readFile = fs.createReadStream(readFilename,encoding: 'utf8'
});
let writeFile = fs.createWriteStream(writeFileName);
readFile.on('data',(data) => {
    writeFile.write(data,() => {
        console.log('write writeFilename.js');
        console.log(data);
    })
});

readFile.on('open',(fd) => {
    console.log(`open readFilename.js`);
});

readFile.on('end',() => {
    writeFile.end('byebye',() => {
        console.log('writeFile.js end');
        console.log(`${writeFile.bytesWritten}`)
    });
});
/***
 * open readFilename.js
 * write writeFilename.js
 * console.log('this is readFilename.js');
 * writeFile.js end
 * 45 
 */

大佬总结

以上是大佬教程为你收集整理的Node.js学习之路08——fs文件系统之stream流的基本介绍全部内容,希望文章能够帮你解决Node.js学习之路08——fs文件系统之stream流的基本介绍所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。