Node.js基础---fs文件系统 读取和写入

什么是nodejs?

脚本语言需要一个解析器才能运行,JavaScript是脚本语言,在不同的位置有不一样的解析器,如写入html的js语言,浏览器是它的解析器角色。而对于需要独立运行的JS,nodejs就是一个解析器。

每一种解析器都是一个运行环境,不但允许js定义各种数据结构,进行各种计算,还允许js使用允许环境提供的内置对象和方法做一些事情。如运行在浏览器中的js的用途是操作DOM,浏览器就提供了document之类的内置对象。而运行在nodejs中的js的用途是操作磁盘文件或搭建http服务器,nodejs就相应提供了fs,http等内置对象。

如何使用node来运行js文件

在你需要运行的文件内 鼠标右键

打开的是 PowerShell 的终端 这个会比用 cmd打开的终端版本更高一点

在PowerShell内的使用方法 和在 终端内是一样的

想要以node去运行js文件 就输入命令

javascript 复制代码
node '文件路径'

文件路径可以使用 TAB 键快速补全

fs文件系统

要想使用这些封装好的方法,首先电脑内需要下载node,这个在官网下载一个稳定的版本就可以

然后就是在js文件内,去引入 fs

javascript 复制代码
// 1 导入 fs 模块
const fs = require('fs')

readFile 读取磁盘文件

javascript 复制代码
// 调用 fs.readFile()方法 读取文件
// 第一个参数 路径
// 第二个参数 读取采用的编码 默认 utf-8
// 第三个参数 回调函数 err dataStr
   fs.readFile(a, b, c)
javascript 复制代码
// 例:
fs.readFile('./files/1.txt', 'utf-8', function(err, dataStr) {
    console.log(err);
    console.log('----------');
    console.log(dataStr);
})

我们可以通过回调函数来判断是否读取成功

如果成功

err 会打印 null

dataStr 会打印出指定文件的内容

如果失败

err 会打印 错误对象

dataStr 会打印 undefined

我们可以利用err 去判断是否成功

javascript 复制代码
fs.readFile('./files/1.txt', 'utf-8', function(err, dataStr) {
    // 如果存在err 就代表读取失败 如果为null不存在 就代表读取成功
    if (err) {
        return console.log('文件读取失败:', + err);    
    }
    console.log('文件读取成功,内容是:' + dataStr);
})

writeFile 写入磁盘文件

javascript 复制代码
// 1 导入 fs 模块
const fs = require('fs')

// 2 调用 fs.writeFile()方法 读取文件
// 第一个参数 路径
// 第二个参数 写入内容
// 第三个参数 写入采用的编码 默认 utf-8
// 第四个参数 回调函数 err dataStr
fs.writeFile(a, b, c, d)
javascript 复制代码
// 例:
fs.writeFile('./files/2.txt', 'Hello! My baby~~!!!!!!', function(err) {
    console.log(err);
})

我们可以通过回调函数来判断是否读取成功

如果成功

err 会打印 null

如果失败

err 会打印 错误对象

我们可以利用err 去判断

javascript 复制代码
fs.writeFile('./files/2.txt', 'Hello! My baby~~!!!!!!', function(err) {
    if (err) {
        return console.log('文件写入无效:', + err);    
    }
    console.log('文件写入成功!');
})
相关推荐
w32963627117 小时前
飞书接单到月度结算:我用一个 DSH 插件跑通鞋类采购 WMS,附 22 项验收
pdf·node.js·飞书·后端开发·ai agent
濮水大叔1 天前
Cabloy/Vona 为什么不需要 NestJS 的 Dynamic Module
typescript·node.js·nestjs
匠云创新1 天前
读完一万段要两分钟:我们把标书读取从 WPS 对象模型搬到了 docx 解析
性能优化·node.js
某哈压力大2 天前
SSH 突然 Connection reset?不是密钥坏了,是 OpenSSL 把 sshd 干趴了
前端·node.js·命令行
回眸&啤酒鸭2 天前
【回眸】Node.js 新手从零到一实战指南
node.js
浪遏2 天前
recruitment-cli:让 AI 接手求职招聘,从架构到一次发送超时
架构·typescript·node.js
沉默小管3 天前
我用 NestJS + Nuxt 3 做了个导航站,聊几个踩过的坑
node.js·seo
非优秀程序员4 天前
第02章 杭电的英语老师与一台服务器|《互联网产品恩仇录》
数据库·node.js·代码规范
Hone4 天前
juejin-skills 系列 ②:我把「看掘金热榜」也做成了 Agent 技能
开源·node.js·ai编程
w16635 天前
零 Root 无 PC:我让 AI 在手机上把鸿蒙 HDC 协议的底裤扒了下来
node.js