nodejs 文本逐行读写功能的实现
利用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);本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!