【node.js】01-fs读写文件内容

 目录

一、fs.readFile() 读取文件内容

二、fs.writeFile() 向指定的文件中写入内容

案例:整理txt

需求:

代码:


一、fs.readFile() 读取文件内容

代码:

//导入fs模块,从来操作文件
const fs = require('fs')// 2.调用 fs.readFile() 方法读取文件
// 参数1:读取文件的存放路径
// 参数2: 读取文件时候采用的编码格式,一般默认指定 utf8
// 参数3: 回调函数,拿到读取失败和成功的结果err、dataStr
fs.readFile('./files/1.txt', 'utf8', function(err, dataStr) {// 如果读取成功,则 err 的值为 nul1// 如果读取失败,则 err 的值为 错误对象,datastr 的值为 undefinedconsole.log(err) //失败的结果console.log(dataStr) //成功的结果
})

结果:

判断文件是否读取成功:

fs.readFile('./files/1.txt', 'utf8', function(err, dataStr) {if (err) {return console.log('读取文件失败!' + err.message)}console.log('读取文件成功!' + dataStr)
})

二、fs.writeFile() 向指定的文件中写入内容

 代码:

//导入fs模块,从来操作文件
const fs = require('fs')// 2.调用 fs.writeFile() 方法读取文件
// 参数1: 表示文件的存放路径
// 参数2: 表示要写入的内容
// 参数3: 编码
// 参数4:回调函数
fs.writeFile('./files/2.txt', 'Hello World', 'utf8', function(err) {if (err) {  //判断文件是否写入成功return console.log('文件写入失败!' + err.message)}console.log('文件写入成功!')
})

案例:整理txt

需求:

现在有一个整理前的文件内容如下所示:

我们想将其内容进行整理,整理后的文件内容如下:

代码:

const fs = require('fs')fs.readFile('files/整理前.txt', 'utf8', function(err, datastr) {if (err) {console.log('读取文件失败!' + err.message)} else {// console.log('读取文件成功!' + datastr)var arrOld = datastr.split(' ')  //按空格将字符串拆分成数组var arrNew = []arrOld.forEach(item => {   //遍历数组arrNew.push(item.replace('=', ':'))   //将item字符串中的=号替换为:})// console.log(arrNew)var newStr = arrNew.join('\r\n')  //合并数组// console.log(newStr)fs.writeFile('files/整理后.txt', newStr, function(err) {if (err) {console.log('文件写入失败!' + err.message)} else {console.log('成绩写入成功!')}})}
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/8920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【雕爷学编程】Arduino动手做(173)---SG90舵机双轴云台模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

windows配置anaconda环境变量

windows 配置 anaconda 环境变量,可以做到 cmd 中调用 conda 命令,不必每次都去找 Anaconda Prompt 文章目录 1. 找到Anaconda的安装位置2. 配置系统环境变量2.1 一步到位2.1 或者手动打开2.2 配置环境变量 3. 检查 1. 找到Anaconda的安装位置 默认安…

kafka面试题

kafka基本概念 Producer 生产者:负责将消息发送到 BrokerConsumer 消费者:从 Broker 接收消息Consumer Group 消费者组:由多个 Consumer 组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费&am…

Vue中TodoList案例_动画

MyItem.vue : 主要是引入了import animate.css样式库,animate.css样式库配置见上一篇文章animate.css样式库,然后再li标签外套了transition标签,引用了name里面的名称是animate.css拿过来的,绑定了enter-active-class和leave-act…

电脑硬盘指的是什么?电脑硬盘长什么样子呢

在很早之前就听说过电脑里面有硬盘,但是不知道电脑硬盘是什么样子,本章文章结合硬盘的接口类型,以及应用技术,说说与硬盘样式有关的知识 一。机械硬盘 如果从硬盘的应用技术来区分硬盘,一般分为两种,早些年…

2023年第三届能源、电力与电气工程国际会议 (CoEEPE 2023)

会议简介 Brief Introduction 2023年第三届能源、电力与电气工程国际会议(CoEEPE 2023) 会议时间:2023年11月22日-24日 召开地点:澳大利亚墨尔本 大会官网:www.coeepe.org 2023年第三届能源、电力与电气工程国际会议(CoEEPE 2023)由安徽大学、…

【大数据运维-ambari】自定义fair-scheduler.xml配置文件导致ambari-server启动失败

将自定义fair-scheduler.xml放到 /var/lib/ambari-server/resources/stacks/HDP/3.0/services/YARN/configuration目录下,重启ambari-server失败: 日志显示: 进ambari数据库查看发现数据应该是对的。 删掉之前自定义的文件fair-scheduler.x…

JavaScript function默认参数赋值前后顺序差异

1、(num1,num2num1) 当传值仅传一个参数时,先给到第一个参数即num1,num1再赋值给num2, function sum(num1, num2 num1) {console.log(num1 num2) } sum(10)//20 sum(10,3)//13 2、(t2t1,t1) 当传值仅有一个参数时,先给到第一个…

Qt 第一讲

登录框设置 #include "zuoye.h" #include "ui_zuoye.h"Zuoye::Zuoye(QWidget *parent): QWidget(parent), ui(new Ui::Zuoye) {ui->setupUi(this);//界面this->resize(540,420); //设置尺寸this->setFixedSize(540,420);//固定尺寸this->setS…

FPGA设计时序分析二、建立/恢复时间

目录 一、背景知识 1.1 理想时序模型 1.2 实际时序模型 1.2.1 时钟不确定性 1.2.2 触发器特性 二、时序分析 2.1 时序模型图 ​2.2 时序定性分析 一、背景知识 之前的章节提到,时钟对于FPGA的重要性不亚于心脏对于人的重要性,所有的逻辑运算都离开…

Unity光照相关知识和实践 (烘焙光照,环境光设置,全局光照)

简介 本文将会通过一个简单的场景搭建,介绍如何使用烘焙光照以及相关的注意事项。另外还介绍了Unity内全局光照(GI)的知识和GI实际在游戏内的表现效果。 Unity关于光照相关的参考文档地址:https://docs.unity.cn/cn/current/Man…

JAVA基础-集合(List与Map)

目录 引言 一,Collection集合 1.1,List接口 1.1.1,ArrayList 1.1.1.1,ArrayList的add()添加方法 1.1.1.2,ArrayList的remove()删除方法 1.1.1.3,ArrayList的contai…

web前端tips:js继承——借用构造函数继承

上篇文章给大家分享了 js继承中的原型链继承 web前端tips:js继承——原型链继承 在文章末尾,我提到了 原型链的继承,子类需要传递参数给父类的构造函数,就无法通过直接调用父类的构造函数来实现,需要通过中间的过程来…

Protobuf数据交互实战

"no one gonna make me down" 在之前呢,我们介绍了什么protobuf以及它的语法、数据类型。 一句老话说得好,"多说不练,假把式!"。因此,本篇会选择以protobuf的语法,完成一个简易的通讯…

Godot 4 源码分析 - 获取脚本

获取属性列表 今天搂草打兔&#xff0c;取得了脚本内容 因为已能取得属性值&#xff0c;那就再进一步&#xff0c;取得属性名列表 if (SameText(drGet.propertyName, "propertyNames", DRGRAPH_FLAG_CASESENSITIVE)) {List<PropertyInfo> *p_list new List…

工信部、国家标准委联合印发《国家车联网产业指南(2023 版)》

国家工信部和标委发布了最新的《国家车联网产业标准体系建设指南&#xff08;智能网联汽车&#xff09;&#xff08;2023 版&#xff09;》&#xff0c;了解这篇文章&#xff0c;不论您是智能网联汽车的追随者&#xff0c;还是对智能网联汽车产业前景感兴趣的人&#xff0c;都非…

性能测试请求重试实现思路

文章目录 一、背景二、尝试的解决方案三、解决方案1&#xff1a;jmeter retrier插件&#xff01;有点用但是不是特别有用-_-||四&#xff0c;最终解决方案&#xff1a;lucust! 一、背景 最近系统需要压测一些活动&#xff0c;场景是新建抽奖活动之后&#xff0c;每隔2s查询1次…

Spring6——入门

文章目录 入门环境要求构建模块程序开发引入依赖创建java类创建配置文件创建测试类运行测试程序 程序分析启用Log4j2日志框架Log4j2日志概述引入Log4j2依赖加入日志配置文件测试使用日志 入门 环境要求 JDK&#xff1a;Java17&#xff08;Spring6要求JDK最低版本是Java17&…

1-Linux的目录结构

Linux的目录结构是规定好的&#xff0c;不可以随意进行更改&#xff01; Linux的文件系统是采用级层式的树状目录结构&#xff0c;最上层是根目录–/&#xff0c;然后再在根目录下创建其它的目录。 各个目录中主要负责的功能和作用如下&#xff1a;&#xff08;主体的结构一定…

引入第三方字体库 第三方字体库Google Fonts

googlefonts官方网站 googlefonts中国网站 本人是在微信小程序中引入 在static中建一个文件夹font-family 例如字体链接&#xff1a;https://fonts.font.im/css?familyKirangHaerang 将该链接的返回的资源的复制到css文件中 font-family.css /* [0] */ font-face {font-fam…