如何利用Node.JS做文本逐行读写,方法及代码是什么

Admin 2022-08-16 群英技术资讯 385 次浏览

今天就跟大家聊聊有关“如何利用Node.JS做文本逐行读写,方法及代码是什么”的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇“如何利用Node.JS做文本逐行读写,方法及代码是什么”文章能对大家有帮助。

利用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);

 


以上就是关于“如何利用Node.JS做文本逐行读写,方法及代码是什么”的介绍了,感谢各位的阅读,如果大家想要了解更多相关的内容,欢迎关注群英网络,小编每天都会为大家更新不同的知识。
群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服