node.js笔记(2)

fs模块是node.js官方提供的,用来操作文件的模块,提供了一系列的方法和属性,用来满足用户对文件的操作需求。

在使用之前,需要导入,使用require方法来导入

cpp 复制代码
const fs = require('fs')

读取指定文件的内容

fs.readFile(path,[options],callback)

其中,path代表文件路径,

options是可选参数,表示以什么编码格式来读取文件。

callback,文件读取完成后,通过回调函数拿到读取结果。

以utf8的编码格式,读取指定文件的内容,并打印err和dataStr内容

javascript 复制代码
const fs=require('fs')
fs.readFile('./files/11.txt','utf8',function(err,dataStr){
    console.log(err)
    console.log('-----')
    console.log(dataStr)
})

如果读取成功,则err的值为null。如果读取失败,则err的值为错误对象,dataStr的值为undefined。

判断文件是否读取成功

javascript 复制代码
const fs=require('fs')
fs.readFile('./files/1.txt','utf8',function(err,result){
    if(err){
        return console.log('文件读取失败'+err.message)
    }
    console.log('文件读取成功,内容是'+result)
})

fs.writeFile(file,data,[options],callback)

file,文件路径的字符串,表示文件的存放路径

data,表示要写入的内容

options,表示以什么格式写入文件。可选参数

callback,文件写入完成后的回调函数

javascript 复制代码
const fs=require('fs')
fs.writeFile('./files/2.txt','hello node.js',function(err){
    console.log(err)
})

如果文件写入成功,则err的值为null。

如果文件写入失败,则err为错误对象。

判断是否写入成功

javascript 复制代码
const fs=require('fs')
fs.writeFile('./files/2.txt','hello node.js',function(err){
    if(err){
        return console.log('文件写入失败,'+err.message)
    }
    console.log('文件写入成功')
})
javascript 复制代码
const fs=require('fs')
fs.readFile('./成绩.txt','utf8',function(err,dataStr){
    if(err){
        return console.log('读取失败'+err.message)
    }
    //console.log('读取成功'+dataStr)
   //先把成绩按照空格,打印出来
    const arrold=dataStr.split(' ')
    //console.log(arrold)
    //循环分割后的数组
    const arrNew=[]
    arrold.forEach(item =>{
        arrNew.push(item.replace('=',':'))
    })
    console.log(arrNew)
    //把新数组中的每一项,进行合并,得到一个新的字符串
    const newStr=arrNew.join('\r\n')
    console.log(newStr)
    //调用写方法,写入
    fs.writeFile('./files/1.txt',newStr,function(err){
        if(err){
            return console.log('文件写入失败,'+err.message)
        }
        console.log('文件写入成功')
    })
})
相关推荐
daanpdf3 小时前
新视野大学英语视听说教程2第四版听力音频原文及答案
笔记
U盘失踪了5 小时前
Playwright Trace 查看器
笔记
zhensherlock7 小时前
Protocol Launcher 系列:Tally 快速计数器的深度集成
前端·javascript·typescript·node.js·自动化·github·js
喝醉酒的小白8 小时前
Elasticsearch 故障分析笔记:Pending Tasks 堆积与 Alias 风暴
笔记·elasticsearch
Cathy Bryant8 小时前
微分几何:曲面与坐标系
笔记·矩阵·高等数学·物理学·微分几何
中屹指纹浏览器8 小时前
2026浏览器指纹追踪的合规边界与隐私优先的反检测技术落地框架
经验分享·笔记
阿Y加油吧8 小时前
算法实战笔记:LeetCode 31 下一个排列 & 287 寻找重复数
笔记·算法·leetcode
就叫飞六吧8 小时前
基于googleshell下载文件/资源
笔记
lwf0061648 小时前
逻辑回归学习笔记-数学直接解回归方程
笔记·学习·逻辑回归
xuhaoyu_cpp_java10 小时前
MyBatis学习(二)
java·经验分享·笔记·学习·mybatis