readable.js 730 B

1234567891011121314151617181920212223242526272829303132
  1. const fs = require(`fs`)
  2. // 传统读取
  3. // fs.readFile('./tempfile.txt', {encoding: "utf8"}, (err, data) => {
  4. // })
  5. // 通过流读取
  6. const reader = fs.createReadStream(`./tempfile.txt`, {
  7. start: 3, // 从第三个字节开始读取
  8. end: 6, // 读到第六个字节
  9. highWaterMark: 2, // 每次读取2个字节
  10. encoding: `utf8` // 通过 utf8 字节
  11. })
  12. reader.on(`data`, (data) => {
  13. console.log(data)
  14. reader.pause() // 暂停读取
  15. setTimeout(() => {
  16. reader.resume()
  17. }, 100) // 0.1 s之后恢复读取
  18. })
  19. reader.on(`close`, () => {
  20. console.log(`file closed`)
  21. })
  22. reader.on(`open`, () => {
  23. console.log(`file opened`)
  24. })