`
aigo
  • 浏览: 2547766 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[nodejs]按行读取文本文件

阅读更多

原文:https://segmentfault.com/a/1190000000740718

 

var stream = require('stream')
var liner = new stream.Transform( { objectMode: true } )

liner._transform = function (chunk, encoding, done) {
  var data = chunk.toString()
  if (this._lastLineData) data = this._lastLineData + data

  var lines = data.split('\n')
  this._lastLineData = lines.splice(lines.length-1,1)[0]

  lines.forEach(this.push.bind(this))
  done()
}

liner._flush = function (done) {
     if (this._lastLineData) this.push(this._lastLineData)
     this._lastLineData = null
     done()
}

module.exports = liner

//测试:打印出文本文件的每一行
var fs = require('fs')
var source = fs.createReadStream('aaa.txt')
source.pipe(liner)
liner.on('readable', function () {
  var line
  while (line = liner.read()) {
    console.log(line);
  }
})

 

分享到:
评论

相关推荐

    教你用十行node.js代码读取docx的文本

    主要给大家介绍了用十行node.js代码读取docx文本的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

    Nodejs中读取中文文件编码问题、发送邮件和定时任务实例

    关于nodejs读取中文文件真是折腾了不少时间,网上各种方案,最后没有一个适用我,好在解决了。...准备一个文本文件(当然也可以是csv文件等)test.txt和text.csv,nodejs文件test.js如下: 代码如下: var iconv =

    node.js使用fs读取文件出错的解决方案

    使用nodejs的fs模块读取文件时习惯用相对路径,但是运行的时候出现了上述的错误,原因就是fs模块读取文件的相对路径是以启动server.js的位置为基准的,而不是以server.js文件的位置。 这就是这篇文章所要讲述的问题...

    详解nodejs 文本操作模块-fs模块(一)

    Nodejs的一大优势就在于,支持异步调用,不管是在读取数据库,还是在读取文件时,都可以使用异步的方式进行处理,这样就可以处理高并发的情况,从本篇开始,开始对Nodejs的fs模块中,一些重要的API,结合源码,进行...

    Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容

    主要给大家介绍了关于Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容,文中给出了详细的示例代码供大家参考学习,需要的朋友们下面跟着小编来一起看看吧。

    node-word-extractor:使用node.js从Word文档中读取数据

    该模块旨在提供一种更快的方式来从Word文件中读取文本,而无需离开node.js环境。如何安装此模块? yarn add word-extractor# Or using npm... npm install word-extractor如何使用此模块? var WordExtractor = ...

    从控制台得到文本输入并输出

    从控制台得到输入的字符,并且可以输出到指定的文件中去。

    Node.js-textract从各种文件抽取文本的Node.js模块

    textract从各种文件抽取文本的Node.js模块,支持html, pdf, doc, docx, xls, xlsx, csv, pptx, png, jpg, gif, rtf等

    详解nodejs 文本操作模块-fs模块(二)

    该方法,是从文件的指定位置处读取文件,一直读取到文件底部,然后江都区到的内容输出到一个缓存区,使用方法如下: fs.read(fd,buffer,offset,length,position,callback); 在read方法中,支持6个参数: fd参数...

    使用Node.js处理前端代码文件的编码问题

    使用 NodeJS 编写前端工具时,操作得最多的是文本文件,因此也就涉及到了文件编码的处理问题。我们常用的文本编码有 UTF8 和 GBK 两种,并且 UTF8 文件还可能带有 BOM。在读取不同编码的文本文件时,需要将文件内容...

    ledg:用nodejs编写的分类帐程序

    该程序为您管理日记,在大多数情况下,无需触摸文本文件。 屏幕截图 手动的 SYNOPSIS ledg <command> [ <filter> ] [ <flags> ] FLAGS Presets of flags can be saved at ~/.ledgrc --file=FILE De

    node文件批量重命名的方法示例

    在一个实际需求中,需要对一批文件(如:文本、图片)进行重命名,按照数字编号。正好借此熟悉了一下node的fs文件操作,写了一个批量修改文件名的脚本。 需求 现有以下图片文件 需要批量修改文件名称,变为统一前缀...

    详解nodejs 文本操作模块-fs模块(四)

    在前文中,提到了一个概念,就是当我在读取文件时,我需要知道这个文件的数据量的大小,而在readFile的源码中,是使用的fa.fstat方法,获取到了文件的相关数据,而对于使用fstat获取到的一个对象中,所包含的属性和...

    list-modules:NodeJS上的待办事项清单应用程序

    我已将代码分为三个不同的模块,分别从read.js文件开始读取,写入和保存每个从最后读取的javascript文件,并且用户打算将save.js文件作为最终应用程序运行。 如果用户希望导入预制的待办事项清单,我还提供了sample...

    dirio:将目录结构转换为 json 并将 json 转换为目录结构的 Node.js 模块

    $ cd node_modules/dirio$ npm install$ npm test约束所有要读取的文件都被解释为UTF-8编码的文本文件,并将文件的全部内容加载到内存中。公共接口转换([目的地,]源,回调) 将source转换为destination 。 首先它...

    line-stream-demo:Node JS“逐行”库的演示项目

    如果需要按行读取目标,我会全力推荐该库。 我提供了一个示例文本文件,该文件模拟了两个人之间的聊天记录。 每行对应一条消息。 大小仅为〜8kb,可以安全地一次读取所有内容,但是由于一次仅将一行存储在内存中,...

    replace-in:替换给定文件中的文本

    替换给定文件中的文本。 npm install replace-in 这个怎么运作? 它创建一个读取流以分块的形式从目标文件中读取。 替换每个请求并使用写入流写入结果。 更换完成后,将返回最终报告。 原料药 替换(选项) ...

    napi-canon-cameras:佳能相机的Node AddOn Api模块

    读取相机属性 文本 整数 整数数组 时间 标志(对/错) 选项(命名列表值) 光圈 快门速度 写入相机属性 文字属性 整数 整数数组 时间 标志(对/错) 选项(命名列表值) 光圈 快门速度 拍照片 ...

    nodejs-cli-query-app

    Node.js本身具有内置的库,用于读取和写入文件,启动其他应用程序以及基本的网络通信。 除此之外, npm上还有许多可用于几乎任何类型任务的软件包。 在此项目中,任何人都可以使用Terminal从数据库( data.json )...

    emoji-stream:使用Node流将文本转换为emoji

    表情符号流 ...示例:读取文件,进行转换并将结果写回到 var fs = require ( 'fs' ) var tr = require ( 'emoji-stream' ) var story = fs . createReadStream ( __dirname + '/mobydick.txt' ) var n

Global site tag (gtag.js) - Google Analytics