位置: IT常识 - 正文

【node.js从入门到精通】使用node.js写入读取文件内容,基础方法使用(node-js)

编辑:rootadmin
【node.js从入门到精通】使用node.js写入读取文件内容,基础方法使用

推荐整理分享【node.js从入门到精通】使用node.js写入读取文件内容,基础方法使用(node-js),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js快速入门,node.js入门教程,node.js教程详细,node.js快速入门,node.js入门教程,node.js基础入门,node.js 入门,node.js入门教程,内容如对您有帮助,希望把文章链接给更多的朋友!

目录

前言

读取文件内容

判断文件是否读取成功

使用writeFile写入文件内容

整理数据

路径动态拼接处理问题

path.basename使用

获取路径中扩展名文件

写在最后

前言

Node.js是一个基于Chrome V8引擎的JavaScript运行环境。

区分版本号

LTS为长期稳定版,推荐安装LTS版本的Node.js. Current为新特性尝鲜版,对热衷于尝试新特性的同学来说,推荐安装Current版本的Node.js

读取文件内容

使用readFile读取文件内容

读取失败是一个error对象

【node.js从入门到精通】使用node.js写入读取文件内容,基础方法使用(node-js)

成功的话就是undefined

// 1.导入fs模块,操作文件const fs = require('fs');// 2.调用readFile() 方法 来读取文件// 第一个参数是被读取文件的路径// 第二个参数是编码格式// 第三个参数是回调函数,拿到读取成功(dataStr)或者是失败的结果 (err)fs.readFile('./file/01.text', 'utf8', function (err, dataStr) { console.log(err);// 打印失败的结果 console.log("---------------------"); console.log(dataStr);// 打印成功的结果})

判断文件是否读取成功const fs = require('fs');fs.readFile('./file/01.txt', 'utf8', function (err, dataStr) { if (err) { return console.log('读取失败!' + err.message); } console.log('读取成功!' + dataStr);})

成功

失败

使用writeFile写入文件内容const fs = require('fs');// 三个参数// 参数1表示文件存放路径// 参数2表示要写入文件的内容// 参数3回调函数fs.writeFile('./file/02.text', 'Aic大山鱼', function (err) { // 写入成功后err的值就是null,且在该文件夹下生成一个02文件 if (err) { return console.log('文件写入失败!' + err.message); } console.log('文件写入成功!');})

整理数据

思维梳理

要求:把一个文件的内容整理起来,放到另一个文件名字和分数用冒号分隔开

1.导入需要的fs文件系统模块

2.使用fs.readFile0方法,读取素材目录下的report-card.txt文件

3.判断文件是否读取失败

4.文件读取成功后,处理成绩数据

5.将处理完成的成绩数据,调用fs.writeFile0 方法,写入到新文件report-card(1).txt中

// 导入fs模块const fs = require('fs');// 调用resdFile()方法 读取文件fs.readFile('./file/report-card.txt', 'utf8', function (err, dataStr) { toString(dataStr); // 判断是否读取成功 if (err) { return console.log('读取失败!' + err.message); } // 把获取到的成绩用逗号分隔开保存 const arrOld = dataStr.split(','); // 循环分割后的每一个数组,进行字符串的替换操作 const arrNew = []; // item代表要遍历那个数组里的每一项 arrOld.forEach(item => { // 把=替换成: arrNew.push(item.replace('=', ':')) }); // 把新数组的每一项进行合并得到新的字符串 const newStr = arrNew.join('\n'); // 使用writeFile()方法,把处理完毕的数据写入到新文件中 fs.writeFile('./file/report-card(1).txt', newStr, function (err) { if (err) { return console.log('写入失败!' + err.message); } console.log('写入成功!'); })})路径动态拼接处理问题

在使用fs模块操作文件时,如果提供的操作路径是以/或./开头的相对路径时,很容易出现路径动态拼接错误的问题。

原因:代码在运行的时候,会以执行node命令时所处的目录,动态拼接出被操作文件的完整路径。

// __dirname 表示当前文件所处的目录const fs = require('fs');// 使用方法fs.readFile(__dirname + '/file/01.txt', 'utf8', function (err, dataStr) { if (err) { return console.log('读取失败!' + err.messages); } console.log('读取成功!' + dataStr);})

path模块是Node.js官方提供的、用来处理路径的模块。它提供了一系列的方法和属性, 用来满足用户对路径的处理需求。

●path.join()方法,用来将多个路径片段拼接成一个完整的路径字符串

●path.basename()方法,用来从路径字符串中,将文件名解析出来

const path = require('path');// ../会抵消一层路径const pathStr = path.join('/a', '/v', '../', '/d', 'c');console.log(pathStr);const path = require('path');const fs = require('fs');fs.readFile(path.join(__dirname, +'/file/01.txt'), 'utf8', function (err, dataStr) { if (err) { return console.log(err.message); } console.log(dataStr);})path.basename使用const path = require('path');const fpath = '/a/d/c/index.html'const fullName = path.basename(fpath);console.log(fullName);// 移除后缀名const nameWithoutExt = path.basename(fpath, '.html');console.log(nameWithoutExt);获取路径中扩展名文件

path.extname()方法

const path = require('paht');const fpath = '/a/s/d/f/index.html'// 路径字符串const fext = path.extname('fpath');console.log(fext);// 输出.html写在最后

我是Aic山鱼,感谢您的支持 ​原 创 不 易 ✨还希望支持一下 点赞👍:您的赞赏是我前进的动力! 收藏⭐:您的支持我是创作的源泉! 评论✍:您的建议是我改进的良药! 山鱼🦈社区:山鱼社区💌💌

本文链接地址:https://www.jiuchutong.com/zhishi/299384.html 转载请保留说明!

上一篇:40个web前端实战项目,练完即可就业,从入门到进阶,基础到框架,html_css【附视频+源码】(web前端视频教程全套)

下一篇:视觉机械臂自主抓取全流程(视觉机械臂操作视频)

  • iqoo8怎么取消录制王者荣耀时的弹窗(iqoo自动录音功能)

    iqoo8怎么取消录制王者荣耀时的弹窗(iqoo自动录音功能)

  • oppok9s怎么调24小时(oppor9sk怎么调夜间模式)

    oppok9s怎么调24小时(oppor9sk怎么调夜间模式)

  • 手机邮箱怎么添加附件发送(手机邮箱怎么添加邮箱地址)

    手机邮箱怎么添加附件发送(手机邮箱怎么添加邮箱地址)

  • iphone7免提灰色按不了(苹果7免提灰色,听不到声音)

    iphone7免提灰色按不了(苹果7免提灰色,听不到声音)

  • 4k60与4k30摄像的区别(相机4k30和4k60有啥区别)

    4k60与4k30摄像的区别(相机4k30和4k60有啥区别)

  • Excel底纹在哪设置(excel中如何设置)

    Excel底纹在哪设置(excel中如何设置)

  • 中兴路由器初始密码(中兴路由器初始wifi密码)

    中兴路由器初始密码(中兴路由器初始wifi密码)

  • 苹果xr卡槽怎么打开(苹果xr卡槽怎么开)

    苹果xr卡槽怎么打开(苹果xr卡槽怎么开)

  • 全站仪sd和hd是什么意思啊(全站仪hd dhd)

    全站仪sd和hd是什么意思啊(全站仪hd dhd)

  • 什么是微信实名认证(什么是微信实名认证与输入身份信息不匹配)

    什么是微信实名认证(什么是微信实名认证与输入身份信息不匹配)

  • 淘宝频繁退款会有影响吗(淘宝频繁退款会掉信誉值吗)

    淘宝频繁退款会有影响吗(淘宝频繁退款会掉信誉值吗)

  • 哔哩哔哩33卡怎么退订(哔哩哔哩33卡怎么取消套餐)

    哔哩哔哩33卡怎么退订(哔哩哔哩33卡怎么取消套餐)

  • 微博怎么互动成铁粉(微博如何互动)

    微博怎么互动成铁粉(微博如何互动)

  • nova6插卡在哪里(nova6插sim卡在哪个位置)

    nova6插卡在哪里(nova6插sim卡在哪个位置)

  • 用什么软件拍快手(用什么软件拍快手视频好看)

    用什么软件拍快手(用什么软件拍快手视频好看)

  • wps文字怎么转成wps表格(wps文字怎么转成表格形式)

    wps文字怎么转成wps表格(wps文字怎么转成表格形式)

  • 手机怎么解绑黄钻(手机号绑定了黄软怎么办)

    手机怎么解绑黄钻(手机号绑定了黄软怎么办)

  • iphone xr信号不好的原因(苹果xr手机信号不好,苹果怎么处理)

    iphone xr信号不好的原因(苹果xr手机信号不好,苹果怎么处理)

  • wps怎样查找关键词(wps怎样查找关键字手机)

    wps怎样查找关键词(wps怎样查找关键字手机)

  • 苹果11带指纹吗(iphone 11有指纹识别吗)

    苹果11带指纹吗(iphone 11有指纹识别吗)

  • 抖音可以同时在线吗

    抖音可以同时在线吗

  • qq解封上限5次怎么办(qq解封上限5次怎么解封)

    qq解封上限5次怎么办(qq解封上限5次怎么解封)

  • cad图纸1比50什么意思(cad图纸1:50怎么计算)

    cad图纸1比50什么意思(cad图纸1:50怎么计算)

  • imvu能调中文吗(imvu怎么切换英文)

    imvu能调中文吗(imvu怎么切换英文)

  • 苹果手机章鱼输入法怎么用(苹果手机章鱼输入法怎么用不了)

    苹果手机章鱼输入法怎么用(苹果手机章鱼输入法怎么用不了)

  • 亚马逊阅读器kindle怎么用(亚马逊阅读器kindle)

    亚马逊阅读器kindle怎么用(亚马逊阅读器kindle)

  • CSS3如何调整背景图片大小(css3两种调整背景图片大小的方式)

    CSS3如何调整背景图片大小(css3两种调整背景图片大小的方式)

  • 金税盘版开票软件怎么升级
  • 税务师职业考试
  • 计提所得税会计处理
  • 新个税年终奖计算公式
  • 两个账户往来款怎么做现金流量表
  • 财务软件续费怎么记账
  • 怎么查纳税人信用等级
  • 发票面额增大
  • 增值税附加税由买方承担如何计算
  • 活动板房怎么开发票
  • 企业养老金计算公式举例说明
  • 红字发票信息开错该怎么撤回与相关会计处理
  • 换件维修的部件什么意思
  • 利息收入的纳税调整
  • 权益资本成本率计算
  • 三证合一后还要去税务局吗
  • 在建期间费用怎么处理?
  • 关于环保税税目正确的有
  • 库存现金盘点发现现金多怎么处理
  • 股东可以以知识产权作价出资吗
  • 2019年小微企业增值税起征点为月销售额
  • 买股票的分红怎么拿
  • mac怎么恢复出厂值
  • 物业专项维修资金可以退还吗
  • 自制原始凭证包括哪些凭证
  • PHP:oci_bind_array_by_name()的用法_Oracle函数
  • 资产评估没有发票可以吗
  • 追加投资会增加实收资本吗
  • php cgi
  • 保险中介手续费规定最新
  • 流转税政策
  • 企业如何转让
  • 企业低值易耗品有哪些
  • 增值税发票怎么抵税
  • 工业企业制造费用包括
  • 建筑行业工程结算属于什么科目
  • 出纳会计和现金会计的区别
  • 先付款后开票怎么做账务处理
  • js回调函数如何返回值
  • 建筑业用的会计账簿
  • 个体工商户营业执照注销流程
  • 出口运保费是什么费用
  • 月底留抵税额需要结转吗
  • 疫情捐款可以抵扣增值税吗
  • 发票已认证次月退回
  • 开具红字发票后所冲销的销项税应该怎么处理?
  • 实缴制下未到位资金
  • 养老院的账务处理会计实务问答
  • 删除表s
  • win10预览版21277
  • win7怎么创建新用户
  • win7系统怎么更新到win10
  • Windows XP with SP2/SP3 原版下载汇总
  • 卸载微信后重新登录微信怎么恢复之前的数据
  • imac固态
  • 如何清理注册表的垃圾文件
  • winxp系统怎么设置默认账户登入
  • 网站遇到错误号怎么办
  • win8 侧边栏
  • nacos监控服务
  • 创建网站根目录
  • win8.1开机自启项目在哪里
  • win10周年纪念版
  • windows进程太多
  • unity3d基础操作
  • jsp分页显示
  • uploadify文件上传
  • qt绘制3d
  • bat判断变量的值
  • 批处理自动登录有密码的程序
  • linux的syslog配置
  • javascript怎么弄
  • unity相关问题
  • JavaScript中的this
  • python tornado django
  • 广东省通用机打发票
  • 企业自产自销农产品免税政策有哪些
  • 国家税务局四川增值税发票查询平台
  • 河南省地方税务局房产税管理办法
  • 浙江增值税发票勾选认证流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设