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

更新日期: 2018-12-17阅读量: 3572标签: 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.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

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

Node 最古老的 npm 包 request 将被废弃

相信 Node.js 开发者对 Request 都不会陌生,这是一个 Node.js 模块,以 npm 包的形式提供,是一个简单的 HTTP 客户端,通过它可方便地实现 HTTP 请求。可以看到,request 的最新版本是 2.88.0

Node.js 12 发布!来看看有哪些新动向吧

今天我们非常激动地发布了 Node.js 12。值得注意的更新以及新功能包括更快速的启动、更好的默认堆内存限制、更新 V8 引擎、TLS、llhttp,新功能包括诊断报告、捆绑的 heap dump 功能

为什么NodeJS那么流行?

Node.js用于创建和运行各种类型的Web应用程序,这与其他一些框架类似。在Nodejs开发中,JavaScript用作主要语言。该节点程序包管理器(NPM)具有由轻量级的内置Web服务器,它允许您自定义应用程序构建满足您的需求管理插件过量。

Node.js中的Stream

Stream主要用于序列化地数据处理(read or write input into output sequentially),比如文件读写,网络数据传输, 或任何端到端的数据交换。Stream在处理数据的时候,与传统方式有所不同

mocha自动化测试程序:node.js测试框架Mocha源码分析

Mocha.js是被广泛使用的Javascript测试框架,在浏览器和Node环境都可以使用。Mocha提供TDD和BDD的测试接口。 Mocha提供了:断言单元测试,可以进行功能性测试,同步代码测试,异步代码测试

Node.js是什么?及node的优缺点

Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js使用事件驱动,非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

Node.js FS模块方法速查

所有文件操作提供同步和异步的两种方式,本笔记只记录异步的API,异步方式其最后一个参数是回调函数。回调函数的第一个参数往往是错误对象,如果没有发生参数,那么第一个参数可能是null或者undefinded。

使用pkg打包Node.js应用的方法步骤

Node.js应用不需要经过编译过程,可以直接把源代码拷贝到部署机上执行,确实比C++、Java这类编译型应用部署方便。然而,Node.js应用执行需要有运行环境,意味着你需要先在部署机器上安装Node.js

angular为什么依赖nodejs?

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

Node.js 应用:Koa2 使用 JWT 进行鉴权

在前后端分离的开发中,通过 Restful API 进行数据交互时,如果没有对 API 进行保护,那么别人就可以很容易地获取并调用这些 API 进行操作。那么服务器端要如何进行鉴权呢?

点击更多...

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