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);
nodejs 文本逐行读写功能的实现的更多相关文章
- 重新想象 Windows 8 Store Apps (23) - 文件系统: 文本的读写, 二进制的读写, 流的读写, 最近访问列表和未来访问列表
原文:重新想象 Windows 8 Store Apps (23) - 文件系统: 文本的读写, 二进制的读写, 流的读写, 最近访问列表和未来访问列表 [源码下载] 重新想象 Windows 8 S ...
- 如何设置secureCRT的鼠标右键为弹出文本操作菜单功能
secureCRT的鼠标右键功能默认是粘贴的功能,用起来和windows系统的风格不一致, 如果要改为右键为弹出文本操作菜单功能,方便对选择的内容做拷贝编辑操作,可以在 options菜单----&g ...
- 背水一战 Windows 10 (89) - 文件系统: 读写文本数据, 读写二进制数据, 读写流数据
[源码下载] 背水一战 Windows 10 (89) - 文件系统: 读写文本数据, 读写二进制数据, 读写流数据 作者:webabcd 介绍背水一战 Windows 10 之 文件系统 读写文本数 ...
- [教程] macOS打开原生的NTFS读写功能
Mac本身实际上是支持原生的NTFS读写的,只不过这一功能被隐藏了,但是可以手动打开,这比第三方的的工具要安全得多,有时第三方工具可能会发生整个NTFS分区数据丢失的情况,下面是打开MAC原生NTFS ...
- STM32 HAL库 UART 串口读写功能笔记
https://www.cnblogs.com/Mysterious/p/4804188.html STM32L0 HAL库 UART 串口读写功能 串口发送功能: uint8_t TxData[10 ...
- JS封装插件:实现文件读写功能
scripting.FileSystemObject是一个可以实现文件读写的COM组件,由于COM组件可以被跨语言调用,因此可以选择像vbs或者JS这种脚本语言调用,下面我就使用该COM组件封装了一个 ...
- python中文本的读写操作
文本的操作 函数的排序操作: def func(i): return i[2] list=[('曹操',101,'c'),('吕布',100,'d'),('刘备',200,'l'),('大乔',50, ...
- c++ 读写功能
课程作业三 git链接: Operations 感想 这次代码修改的地方主要有,加入了文件读写.读出功能,以及分离函数写到了头文件里. 但是也有很多不足的地方,首先本来想要 ...
- IO流-文本IO\读写二进制数据
文本IO 一.简述 OutputStreamWriter类使用选定的编码方式吧Unicode字符流转换为字节流,InputStreamReader类将包含字节的输入流转为可以产生Unicode字符的读 ...
随机推荐
- Nginx为什么快到根本停不下来?
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器. 图片来自 Pexels Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资 ...
- 我的物联网大学【第二章】:Luat的出世
壹 启动火种 有一位软件行业的大神,名字叫做许小刚. 小刚是一位憨厚的年轻的码农,嵌入式.后端.前端,无所不能,是一个很牛的物联网全栈工程师,也是一家物联网软件公司的创始人兼CEO. 有次跟我.老陆. ...
- ORA-09817:Write to audit file failed
ERROR: ORA-09817: Write to audit file failed. --这种错误基本是磁盘空间满了 问题描述:sqlplus / as sysdba登不上,报上述ora-098 ...
- Centos7 unzip文件名中文乱码
Centos7 unzip文件名中文乱码 前言 今天在批量处理windos文件时为了方便操作,将windos下面的文件夹打成zip包上传至centos7中解压处理,发现解压后中文文件名变成了乱码,如下 ...
- SpringBoot Cache 深入
这上一篇文章中我们熟悉了SpringBoot Cache的基本使用,接下来我们看下它的执行流程 CacheAutoConfiguration 自动装配类 根据图中标注,看到它引用了CachingCon ...
- Camunda工作流引擎简单入门
官网:https://camunda.com/ 官方文档:https://docs.camunda.org/get-started/spring-boot/project-setup/ 阅读新体验:h ...
- Springboot整合shardingsphere和druid进行读写分离
最近在使用springboot整合shardingsphere和druid实现mysql数据库读写分离时遇到了一些问题,特此记录一下. 依赖版本 Springboot 2.1.6.RElEASE sh ...
- 重启outlook的bat脚本
@echo off :openie echo -------------closeing outlook---------- taskkill /f /t /im OUTLOOK.exe echo - ...
- 为什么socket是三次握手挥手却是四次
为知笔记地址: https://794e611d.wiz03.com/wapp/pages/view/share/s/1VjC4t215AfJ2knVCX1yXcay1HkR1O0_L4CF2w2CR ...
- Linux SecureCRT 终端连接密钥交换失败错误
1.故障现象: 服务器升级OpenSSH和OpenSSL后,SecureCRT无法SSH登录(CRT7.0以上版本可以正常登陆,以下版本报截图错误),但是Putty等工具可以正常登录: 报错如下: S ...