node.js学习——fs模块

本文详细介绍了Node.js中的fs模块,包括其基本概念、同步与异步文件操作方法(如writeFile、writeFileSync、appendFile和流式写入)、以及追加写入的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 基本概念
fs(file system)模块是nodejs提供的用于访问本地文件系统的功能模块,它使得运行于nodejs环境下的JavaScript具备直接读写本地文件的能力。

fs模块是nodejs的核心模块之一,只要安装了nodejs,就可以直接使用,不需要单独安装。引入fs模块非常简单:

fs 模块可以实现与硬盘的交互

例如文件的创建、删除、重命名、移动还有文件内容的写入、读取

以及文件夹的相关操作

写入数据:

第一步导入fs模块

// require全局函数,可以导入模块,()中是模块的,名称
const fs = require('fs');

同步与异步

异步写入

// require全局函数,可以导入模块,()中是模块的,名称
const fs = require('fs');
// 写入文件  参数:1.文件名 2.要写入的数据 3.选项设置(可写可不) 4.写入回调
fs.writeFile('./座右铭.txt','好好学习',err=> {  //文件如果不存在他会自动帮我们创建
    // 当写入完成之后就会自动调用函数,在出现错误时也会传给函数err,
    //如果写入失败则 err为错误对象。成功则err:null
    if(err){
        console.log('写入失败');
        return;
    }
    console.log('写入成功');
});  

异步的意思就是,主程序会一直往下走,而不会等待。比如这里在下面添加了一个1+1,写入结束之后则会先输出2,再去运行err回调函数,然后判断是否写入成功。

// require全局函数,可以导入模块,()中是模块的,名称
const fs = require('fs');
// 写入文件  参数:1.文件名 2.要写入的数据 3.选项设置(可写可不) 4.写入回调
fs.writeFile('./座右铭.txt','好好学习',err=> {  //文件如果不存在他会自动帮我们创建
    // 当写入完成之后就会自动调用函数,在出现错误时也会传给函数err,
    //如果写入失败则 err为错误对象。成功则err:null
    if(err){
        console.log('写入失败');
        return;
    }
    console.log('写入成功');
});  
console.log(1+1);

同步写入

const fs = require('fs');
fs.writeFileSync('./data.text','test');

异步效率会高一些,需求比较性能要求高时使用。(用的比较多)。

但是对性能要求低的就可以用同步,更好理解一些。

文件追加写入

异步
// 引入fs
const fs = require('fs');
fs.appendFileSync('./座右铭.txt,'111')
                
// \r\n 可实现添加内容换行
fs.appendFileSync('./座右铭.txt','\r\n222');
writeFile 实现追加写入
// writeFile实现追加  参数{flag: a}会实现appendFile一样的效果
fs.writeFile('./座右铭.txt','love love love',{flag: a},err =>{
    if(err){
        console.log*('写入失败了');
        return;
    }
    console.log('写入成功');

});

追加适应于:需要随时写入数据,比如日志,记录用户访问时间和数据时。

文件流式写入

//导入fs
const fs = require('fs');

// 创建写入流对象  参数路径
const ws = fs.createWriteStream('./观书有感.text');

//write
ws.write('111');
ws.write('222');
// 关闭通道  当脚本执行完毕之后,资源也会被回收,通道也会被关闭。所以写不写都可以
ws.close();

流式写入有时候会为了效率,会一直不关闭通道

而writeFile , writeFileSync,

appendFile,appendFileSync

writeFileSync, 都是一次性的

createWriteStream 可一直保持开启状态

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值