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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM