fs文件系统模块练习

小红=99 小白=100 小黄=70 小黑=66 小绿=88  整理前

小红:99 小白:100 小黄:70 小黑:66 小绿:88     整理后

使用fs文件系统模块 将文件内容 进行整理 

1. 准备一个TXT文件 文件名命名为 成绩.txt 内容格式如下想

小红=99 小白=100 小黄=70 小黑=66 小绿=88 整理后

2. 准备一个 TET文件 文件命名为 整理后的成绩.txt  内容 暂为空

3. 准备JavaScript代码部分进行读取 修改成绩.txt文件内容 将修改后的内容 放入到 整理后的成绩.txt 文件中

// 1.导入fs模块 

const fs = require('fs')

// fs.readFile() 读取文件的内容 
fs.readFile('./成绩.txt','utf8',function(err,dataStr){
    // 3.判断是否读取成功 
    if(err){
        return console.log('读取失败'+err.message);
    }
    // console.log('读取文件成功!'+dataStr);

    // 4.1 第一步 先把成绩的数据,按照空格进行分割
    const arrOld = dataStr.split(' ')
    console.log(arrOld);
    // 4.2 循环分割后的数组,对每一项数据,进行字符串的替换操作
    const arrNew = []
    arrOld.forEach(item=>{
        arrNew.push(item.replace('=',':'))
    })
    console.log(arrNew);
    // 4.3 把新数组中的每一项,进行合并,得到一个新的字符串
  const newStr = arrNew.join('\r\n')

  console.log(newStr);
    // 5.调用fs.weiteFile() 方法 把处理完毕的成绩,写入到新文件中
    fs.writeFile('./成绩-ok.txt',newStr, function(err,dataStr){
        if(err){
            return console.log('写入失败'+err.message);
        }
        console.log('成绩写入成功');
    })   
})

fs模块-路径动态拼接的问题

在使用fs模块操作文件时,如果提供的操作路径是以./或../开头的相对路径时,很容易出现路径动态拼接错误的问题 原因:代码在运行的时候,会议执行node命令时所处的目录,动态拼接出被操作文件的完整路径

解决:如果要解决这个问题,可以直接提供一个完整的文件存放路径就行 (移执性非常差 不利于维护

最优解决方案: 使用__dirname 表示当前文件所处的目录

__dirname 表示当前文件所处的目录
console.log(__dirname);
fs.readFile(__dirname +'/flies/1.txt','utf8',function(err,dataStr){
    if(err){
    return console.log('文件读取失败'+err.message);
    }
    console.log(dataStr);
})

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值