zwhu / blog

嘛,写 blog 也要遵守基本法。
MIT License
66 stars 2 forks source link

Node.js 逐行读取文件 #15

Open zwhu opened 8 years ago

zwhu commented 8 years ago

用 node 来学习「Algorithms(第四版)」的时候,经常遇到逐行读取文件的需求,索性用 node 自带的readLine Api 写个逐行读取文件的程序。

import {createReadStream} from 'fs'
import {createInterface} from 'readline'

let readFile = (inputFile, cb) => {
  let inStream = createReadStream(inputFile, 'utf8')
    , rl       = createInterface({input: inStream})

  rl.on('line', function (line) {
    rl.pause()
    //sync
    cb(line)
    rl.resume()
  })
}
export default readFile

用法比较简单

import {join} from 'path'
import readFile from './readFile'

readFile(join(__dirname, './path.txt'), (line)=> {
  console.log(line)
})