千家信息网

nodejs项目中如何增删改查文件

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本篇内容主要讲解"nodejs项目中如何增删改查文件",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"nodejs项目中如何增删改查文件"吧!这里主要介绍no
千家信息网最后更新 2025年11月07日nodejs项目中如何增删改查文件

本篇内容主要讲解"nodejs项目中如何增删改查文件",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"nodejs项目中如何增删改查文件"吧!

这里主要介绍nodejs的文件模块,通过nodejs的文件模块,我们可以创建、读取、修改、删除我们操作系统上的文件或文件夹,同理在Linux服务器上也是可以运行的。因为nodejs是跨平台运行的javascript运行环境。

项目结构:

├── files│   ├── file1│   └── file2├── dir.js├── index-callback.js├── index-promise.js└── stream.js

常规文件操作

回调函数式操作

创建index-callback.js,代码如下

const fs = require('fs')const path = require('path')// 读取文件fs.readFile(path.join(__dirname, 'files', 'file1'), (err, buf) => {    if (err) throw err    console.log(buf.toString()) })// 写入文件fs.writeFile(path.join(__dirname, 'files', 'file3'), '欢迎光临', (err) => {    if (err) throw err    console.log('写入完成')       // 在文件末尾追加    fs.appendFile(path.join(__dirname, 'files', 'file3'), '\n\n男宾三位', (err) => {        if (err) throw err        console.log('追加完成')           // 修改文件名称        fs.rename(path.join(__dirname, 'files', 'file3'), path.join(__dirname, 'files', 'file3-rename'), (err) => {            if (err) throw err            console.log('改名完成')             })    })})

总结:

  • readFile用来读取文件的内容,在读取成功后在回调函数返回的是buffer格式,所以需要调用toString()方法

  • writeFile写入内容进文件,如果文件不存在会自动创建文件

  • appendFile在文件末尾追加内容,如果文件不存在会自动创建文件

  • rename可以用来修改文件名称

  • path.join用来拼接文件路径,可以避免不同操作系统路径格式不同的问题

  • __dirname是node.js全局变量,默认是当前项目目录

promise async await式操作

创建index-promise.js,代码如下

const fsPromises = require('fs').promisesconst path = require('path')const fileFunc = async () => {    try {        const data = await fsPromises.readFile(path.join(__dirname, 'files', 'file1'))        console.log(data.toString())        await fsPromises.unlink(path.join(__dirname, 'files', 'file1'))              await fsPromises.writeFile(path.join(__dirname, 'files', 'file5'), data)        await fsPromises.appendFile(path.join(__dirname, 'files', 'file5'), '\n\n欢迎光临')        await fsPromises.rename(path.join(__dirname, 'files', 'file5'), path.join(__dirname, 'files', 'file5-rename'))        const newData = await fsPromises.readFile(path.join(__dirname, 'files', 'file5-rename'))        console.log(newData.toString())    } catch (error) {        console.log(error)    }}fileFunc()

总结:

  • 相比回调式操作,使用async await操作会更加优雅,不会出现回调地狱

  • unlink用来删除文件

文件流操作

创建stream.js,代码如下

方式一

const fs = require('fs')// 读取文件流const rs = fs.createReadStream('./files/file2', { encoding: 'utf8' })// 写入文件流const ws = fs.createWriteStream('./files/new-file2')// 监听读取并写入rs.on('data', (chunk) => {        ws.write(chunk)})

在读取大文件时或者处理网络文件时,文件流操作很有用,在操作大文件时,我们可以设置每次读取的数据量大小,默认是64kb

方式二

const fs = require('fs')// 读取文件流const rs = fs.createReadStream('./files/file2', { encoding: 'utf8' })// 写入文件流const ws = fs.createWriteStream('./files/new-file2')rs.pipe(ws)

pipe方法自动将读取文件流导入到写入流,相当于一个便捷操作。

操作文件夹

创建dir.js,代码如下

const fs = require('fs')// 判断文件夹是否存在if (!fs.existsSync('./new')) {      // 创建文件夹    fs.mkdir('./new', (err) => {        if (err) throw err        console.log('文件夹创建成功')    })}if (fs.existsSync('./new')) {      // 删除文件夹    fs.rmdir('./new', (err) => {        if (err) throw err        console.log('文件夹删除成功')    })}

总结:

  • existsSync是同步方法,用来判断文件夹是否存在

  • mkdir创建文件夹

  • rmdir删除文件夹

这3个操作文件夹的方法非常常用,就像每天吃饭一样。

到此,相信大家对"nodejs项目中如何增删改查文件"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

文件 文件夹 项目 内容 方法 代码 成功 运行 不同 操作系统 函数 名称 方式 末尾 格式 模块 欢迎光临 系统 路径 学习 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 北京涂鸦科技是互联网公司吗 重庆专业软件开发大概要多少钱 虚拟机 数据库导入数据 网络安全法收集信息 信息检索中国知网数据库模板 衢州日报传媒网络技术有限公司 梅州市土地利用总体规划数据库 局域网访问sql数据库太慢 数据库中弱三范怎么理解 杭州云集网络技术有限公司 物联网网络安全行业分析 网络安全标准级别C2 上海创新软件开发价格咨询 云服务器个人可以用吗 选云计算还是软件开发 软件开发商小说 计算机网络技术连线题 湖南 网络安全产业园 应急管理局网络安全与信息化 广州暴雨网络技术有限公司 长宁区项目数据库电话多少 海康威视服务器的加密狗怎么查看 未来教育破解版三级网络技术 深圳乐淘网络技术 新手机企业微信设置服务器 网络技术及应用考哪些 电信网络安全进校园绘画 张湾区服务软件开发市场 华清软件开发板怎么开 应急管理局网络安全与信息化
0