const fs = require("fs");
const path = require("path");const filename = solve(__dirname, "./");
const rs = fs.createReadStream(filename, {/*编码格式*/encoding: "utf-8",/*流一次读取的数量*/highWaterMark: 1,/*读完后会自动完毕,默认为true*/autoClose: true
});
当创建一个可读流之后会触发注册事件 可以脑补位Dom事件注册–类似于addeventlistener
规则如<(事件名,处理函数)
文件打开事件,表示文件被打开- 打开后触发
rs.on("open", () => {console.log("文件被打开了");
});
读取出错事件 表示在读取过程中出现错误
rs.on("error", () => {console.log("出错了!!");
});
文件关闭后触发 如:rs.close手动关闭
读取完成之后才会关闭,当前只是打开环节,不会触发这个
rs.on("close", () => {console.log("文件关闭了");
});
只有注册这个事件之后才会开始进行文件读取 ps:全部读取之后会导致close触发
作为可读流 这个是一节一节读的 具体一次读多少 会参考函数highWaterMark&encoding两个函数 如encoding为默认值则一次读取一个字节(1文字=3字节)
rs.on("data", 数据参数=> {console.log("读到了一部分数据:", 数据参数);
});
<(“resume”, () => {全部数据读取完毕, 会优先于close函数触发 end>close
rs.on("end", () => {console.log("全部数据读取完毕");
});
rs.pause:暂停读取
rs.resume 继续读取
rs.on("data", 数据参数=> {console.log("读到了一部分数据:", 数据参数);
});
rs.on("pause", () => {console.log("暂停了");setTimeout(() => {rs.resume();}, 1000);
});
本文发布于:2024-01-28 02:18:15,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063794994075.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |