位置: 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前端视频教程全套)

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

  • 加强当前农村地区新型冠状病毒感染疫情防控工作方案

    加强当前农村地区新型冠状病毒感染疫情防控工作方案

  • 如何让企业的微博营销取得不错的收获(如何让企业微信弹出消息提醒)

    如何让企业的微博营销取得不错的收获(如何让企业微信弹出消息提醒)

  • 移动宽带怎么在网上退订业务(移动宽带怎么在线升级)

    移动宽带怎么在网上退订业务(移动宽带怎么在线升级)

  • 华为nova5微信视频美颜怎么设置(华为nova5微信视频没有美颜)

    华为nova5微信视频美颜怎么设置(华为nova5微信视频没有美颜)

  • 华为手机解锁前出现新闻怎么去掉(华为手机解锁前有广告怎么解决)

    华为手机解锁前出现新闻怎么去掉(华为手机解锁前有广告怎么解决)

  • 支付宝集五福只能合成一个吗(支付宝集五福只可以合成一次吗)

    支付宝集五福只能合成一个吗(支付宝集五福只可以合成一次吗)

  • hm55主板支持最高的cpu(hm55主板支持最大内存条)

    hm55主板支持最高的cpu(hm55主板支持最大内存条)

  • wps功能是什么(华为路由器的wps功能是什么)

    wps功能是什么(华为路由器的wps功能是什么)

  • 虎牙粉钻有什么用(虎牙粉钻什么意思)

    虎牙粉钻有什么用(虎牙粉钻什么意思)

  • 允许其他应用自动启动是什么意思(允许其他应用自动)

    允许其他应用自动启动是什么意思(允许其他应用自动)

  • 手机扫描仪功能在哪里(手机扫描仪的功能)

    手机扫描仪功能在哪里(手机扫描仪的功能)

  • 华为13mp是什么型号(华为手机13mp的价格f1.8的价格)

    华为13mp是什么型号(华为手机13mp的价格f1.8的价格)

  • 华为开发者模式干嘛的(华为开发者模式是干什么的)

    华为开发者模式干嘛的(华为开发者模式是干什么的)

  • 淘宝五颗心代表什么(淘宝店铺五颗心怎么样)

    淘宝五颗心代表什么(淘宝店铺五颗心怎么样)

  • 苹果手机为什么无法语音输入(苹果手机为什么屏幕会突然变暗)

    苹果手机为什么无法语音输入(苹果手机为什么屏幕会突然变暗)

  • kwdownload是什么文件(kwdownload可以删除吗)

    kwdownload是什么文件(kwdownload可以删除吗)

  • 微信设置黑名单后在哪取消(微信设置黑名单在哪里找到)

    微信设置黑名单后在哪取消(微信设置黑名单在哪里找到)

  • 小米8可以用5a数据线吗(小米8可以用5a的充电线吗)

    小米8可以用5a数据线吗(小米8可以用5a的充电线吗)

  • 固态硬盘怎么接主板(固态硬盘怎么接线)

    固态硬盘怎么接主板(固态硬盘怎么接线)

  • 芒果tv王卡免流吗(王卡芒果免流量吗)

    芒果tv王卡免流吗(王卡芒果免流量吗)

  • 手机app用什么语言(手机app使用什么语言写的?)

    手机app用什么语言(手机app使用什么语言写的?)

  • 电脑怎么保存文件(电脑怎么保存文件里的图片)

    电脑怎么保存文件(电脑怎么保存文件里的图片)

  • 拼多多0.01抽奖怎么取消(拼多多0.01抽奖老是抽不到100元)

    拼多多0.01抽奖怎么取消(拼多多0.01抽奖老是抽不到100元)

  • 闲聊提现人脸识别在哪里设置(闲聊提现人脸识别怎么弄)

    闲聊提现人脸识别在哪里设置(闲聊提现人脸识别怎么弄)

  • 华为nova5支持nfc吗(华为NOVA5支持OTG是什么意思)

    华为nova5支持nfc吗(华为NOVA5支持OTG是什么意思)

  • 由于微信限制,仅支持口令分享怎么解除(由于微信限制,您需要授权后查看完整内容)

    由于微信限制,仅支持口令分享怎么解除(由于微信限制,您需要授权后查看完整内容)

  • oppor17密码和指纹都忘记了(oppor17手机密码)

    oppor17密码和指纹都忘记了(oppor17手机密码)

  • 小规模纳税人销售额超过500万
  • 附加税申报表怎么做
  • 股东分红交税税率
  • 增值税发票有
  • 分公司产生的费用怎么报销
  • 建筑业预缴企业所得税
  • 硬盘录像机开发板
  • 小规模什么情况下只交城建税
  • 股东投入款放入什么科目
  • 金税盘无法连接jk开票
  • 兼职业务拿提成合法吗
  • 新企业需要结转增值税吗
  • 音乐茶座取什么名字好呢
  • 个人减税具体政策
  • 医院销售药品是干嘛的
  • 海关免税设备清单
  • 企业所得税年报补报
  • 国外出差差旅费
  • 销售商品发生的运费计入什么科目
  • 银行代扣水电费要手续费吗
  • 企业所得税属于什么科目
  • 公司租赁厂房开几个点发票
  • 预缴税款附加税怎么弄
  • 减免税款余额方法有哪些
  • 超市积分礼品
  • 行政事业单位会计基础工作规范
  • 单位杂工费报销计什么科目
  • 金税盘开票出现离线发票金额超出限制怎么设置?
  • 土地闲置费能否扣除
  • 买一赠一商品必须一样吗
  • 多交附加税不退怎么做分录
  • 原材料费用的分配
  • 事业单位本年度工作小结
  • 免征附加税费
  • 银行交纳进口关税政策
  • 农产品的增值税率
  • 信息技术费用如何做分录
  • 企业向个人的借款合同
  • 天堂之路歌曲
  • 缴纳以前年度房产税会计分录
  • php封装api
  • discuz怎么修改招聘内容
  • 小型微利企业的认定标准2023年
  • 公司租用员工的车辆交什么税
  • 社保费用如何做账,社保费会计分录如何写
  • 购买备用品会计分录
  • 直播属于什么行业门类
  • 报验户如何管理
  • 其他综合收益相关分录
  • 一般纳税人金税盘分录
  • 物业公司预收款账务处理
  • 事业单位公务员考试条件
  • 以前年度长期股权投资漏记调整
  • 自产自用进项税额
  • 费用化资本化对税收的影响
  • 退货时的会计分录怎么做
  • 办理分公司的流程样本
  • 建账的要点
  • mysql官方监控工具
  • sql server无法连接服务器的原因
  • sqlserver 锁表语句
  • 安装office提示
  • win10的ubuntu
  • SSDP Discovery Service 是什么可以禁用吗
  • win10预览版怎么升级到正式版
  • windows10 2021预览版
  • win1020h2版好不好
  • python递归函数详解
  • android 中 EditText加入图标 更改边框颜色 设置透明
  • android颜色值
  • jquery mobile教程
  • jquery的核心函数
  • jquery滚动插件
  • 苏州税务ukey客服电话
  • 吉林省地方税务局单位职工集资建房免征营业税
  • 税务申报热线电话
  • 小规模年度财务报表
  • 2022年房产税减免政策疫情
  • 嘉定办证中心营业时间
  • 农民专业合作社章程完整版
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设