• Node.js学习篇(一)利用fs引入文件和写入或修改文件以及path


    知识点:
    fs.readFile读取
    fs.writeFile写入

    1.创建文件

    在这里插入图片描述

    2.使用fs.readFile读取files的1.txt

    //1.导入fs模块
    const fs = require('fs')
    // 2.fs.readFile读取文件
    //参数1 读取编码的文件路劲
    //参数2 读取文件的编码格式
    //参数3 读取回调函数
    fs.readFile('./files/1.txt', 'utf8', (err, res) => {
        // 如果读取成功则Err为Null
        if (err) {
            return console.log('读取文件失败', err.message)
        }
        return console.log('读取文件成功', res)
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    打开终端运行js
    在这里插入图片描述

    3.使用fs.writeFile写入2.txt

    //1.导入fs模块
    const fs = require('fs')
    // fs.writeFile写入文件
    fs.writeFile('./files/2.txt', 'ok123',  (err)=> {
        if (err) {
            return console.log('读取文件失败', err.message)
        }
        console.log('文件写入成功!', res)
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    在这里插入图片描述

    4.先fs.readFile读取在fs.writeFile写入

    在这里插入图片描述
    条件:把上面的成绩分割,=号替换成: ,并换行

    const fs = require('fs')
    
    fs.readFile('./files/成绩.txt', 'utf8', (err, res) => {
        // 如果读取成功则Err为Null
        if (err) {
            return console.log('读取文件失败', err.message)
        }
        // console.log('读取文件 成功', res)
        // 按照空格分割成数组
        const arrOld = res.split(' ')
        const arrNew = []
        // 循环把=换成:
        arrOld.forEach(item => {
            arrNew.push(item.replace('=', ':'))
        })
        //进行合并
        const newStr = arrNew.join('\r\n')
        console.log(newStr)
    
        // 写入新文件
        fs.writeFile('./files/2.txt', newStr, (err) => {
            if (err) {
                return console.log('读取文件失败', err.message)
            }
            return console.log('成绩写入成功!')
        })
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    在这里插入图片描述

    5.动态获取路径

    原路径使用./引入

    fs.readFile('./files/成绩.txt', 'utf8',
    
    • 1

    改成动态获取,使用__dirname

    const fs = require('fs')
    //__dirname+'/files/1.txt'也可以 path.join(__dirname, '/files/1.txt')
    //用path.join(__dirname, '/files/1.txt')好点
    fs.readFile(path.join(__dirname, '/files/1.txt'), 'utf8', (err, res) => {
        if (err) {
            return console.log('读取文件失败', err.message)
        }
        console.log('读取成功', res)
    })
    console.log(__dirname)
    //__dirname就是获取当前文件所在路劲
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    6.获取文件路径

    const path = require('path')
    const fpath = './a/c/v/d.html'
    const fext = path.extname(fpath)
    console.log('获取文件名+扩展名',path.basename(fpath))
    console.log('获取文件名',path.basename(fpath,'.html'))
    console.log('获取文件扩展名',fext)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

  • 相关阅读:
    网络编程day04(网络属性函数、广播、组播、TCP并发)
    ADS基础教程22 - 有限元电磁仿真(FEM)
    CSS外观属性总结
    文件上传四次绕过
    vue3+ts 组合式api中(setup)如何使用getCurrentInstance,以及用它替代this
    2022-基于树木形态和有限状态机的森林火灾蔓延实时三维可视化
    babylon.js gltf scene hierarchy
    进阶:Python序列的修改、散列和切片
    Kubernetes外部服务管理Ingress介绍
    研究生们刚开始看英文文献是怎么看的
  • 原文地址:https://blog.csdn.net/hql1024/article/details/125459242