关闭

nodejs 文本逐行读写功能的实现

时间: 2018-12-17阅读: 2384标签: node

利用nodejs实现:逐行读写(从一个文件逐行复制到另外一个文件);逐行读取、处理和写入(读取一行,处理后,写入另一个文件)

1.所需要的模块: fs,os,readline


2.具体实现:

a. 功能的实现:readWriteFileByLine.js

var fs = require(‘fs-extra‘);
var os = require(‘os‘);
var rl =  require(‘readline‘);

/**
 * 按行读写,无读取内容的处理,类似单纯的复制功能
 * @param {string} readName 
 * @param {string} writeName 
 */
var readWriteFileByLine = function(readName, writeName){
    var readStream =  fs.createReadStream(readName);
    var writeStream = fs.createWriteStream(writeName);
    var readLine = rl.createInterface({
        input: readStream,
        output: writeStream,
        terminal: true
    })
}

/**
 * 按行读写,中间包涵对读取的行内容的处理
 * @param {string} readName 
 * @param {string} writeName 
 * @param {Function} callback 
 */
var readWriteFileByLineWithProcess = function(readName,writeName,callback){
    var readStream = fs.createReadStream(readName);
    var writeStream = fs.createWriteStream(writeName);
    var readLine = rl.createInterface({
        input: readStream
    })
    readLine.on(‘line‘,function(line){
        var rs = callback(line);
        writeStream.write(rs + os.EOL);
    })
}

exports.readWriteFileByLine = readWriteFileByLine;
exports.readWriteFileByLineWithProcess = readWriteFileByLineWithProcess


b. 功能的调用:index.js

var rwByLine = require(‘./lib/readWriteFileByLine.js‘)

//按行读写,对行做字符替换处理
var readName = ‘./obj.txt‘;
var writeName = ‘./rt.txt‘;
rwByLine.readWriteFileByLineWithProcess(readName,writeName,function(line){
    var rs = line.toString().replace("\\",‘\/‘);
    return rs;
})

//按行读写,无处理
readName = ‘./obj.txt‘;
writeName = ‘./rt1.txt‘;
rwByLine.readWriteFileByLine(readName,writeName);



站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/1628

关闭

如何用nodejs实现前后端传值?

nodejs前后端传值即前后端的数据交互,nodejs中的数据提交有两种方式GET方法和POST方法,下面我们来看一下如何使用这两种方法实现nodejs前后端的传值。nodejs实现前后端传值的方法如下:

node.js 沙盒逃逸分析

日常开发需求中有时候为了追求灵活性或降低开发难度,会在业务代码里直接使用 eval/Function/vm 等功能,其中 eval/Function 算是动态执行 JS,但无法屏蔽当前执行环境的上下文,但 node.js 里提供了 vm 模块,相当于一个虚拟机

为什么要把 JavaScript 放到服务器端上运行?

JavaScript比C的开发门槛要低,尽管服务器端JavaScript存在已经很多年了,但是后端部分一直没有市场,JavaScript在浏览器中有广泛的事件驱动方面的应用,考虑到高性能、符合事件驱动、没有历史包袱这3个主要原因,JavaScript成为了Node的实现语言。

前端学nodejs有什么用处?

Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境,一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。

nodejs的jekins部署

gitlab项目仓库给jekins服务器分配一个账号develop权限用于拉取代码。分支为master。jekins配置打包脚本。思路就是拉取最新代码后,安装相关依赖。删除旧打包文件。新建打包文件项目名.tar.gz。通过SSH传输打包文件项目名.tar.gz到测试服务器指定目录。

angular为什么依赖nodejs?

angular用nodejs主要是用它的npm工具包,npm里面有很多很方便的工具可以用在前端开发,Angular是一个开源框架的,以 JavaScript 编写的库,一个客户端的JavaScript MVC框架,用于开发动态Web应用程序。

node实现批量修改图片尺寸

大家在工作中肯定有没有遇到过图片尺寸和我们要求的尺寸不一致的情况吧?通常我们会在网上找一下找在线的或者下载一个小工具,再或者通过 ps 的批处理解决

基于node服务器的大文件(G级)上传

3G的大文件分1500个2M二进度文件,通post方法发送给node服务,服务器全部接收到文件后,进组装生成你上文件。

深入解析Node.js Stream ondata触发时机与顺序

今天小编就为大家分享一篇关于Node.js Stream ondata触发时机与顺序的探索,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。

开发可伸缩Web应用程序的7个关键Node.js优势

Node.js已成为构建可伸缩Web应用程序的首选技术。由于它提供了许多重要的好处,因此在开发人员中获得了极大的欢迎。 根据Stack Overflow的2020 开发人员调查显示,在一个热情的社区的支持下

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!