【Node.js基础02】fs、path模块

目录

一:fs模块-读写文件

[1 加载fs模块对象](#1 加载fs模块对象)

[2 读制定文件内容文件](#2 读制定文件内容文件)

[3 向文件中写入内容](#3 向文件中写入内容)

二:path模块-路径处理

[1 问题引入](#1 问题引入)

[2 __dirname内置变量](#2 __dirname内置变量)

使用方法

一:fs模块-读写文件

fs模块封装了与本机文件系统交互方法和属性

1 加载fs模块对象

javascript 复制代码
const fs = require('fs')//fs是模块标识符:模块名字

fs类似于插件,集成了一定量的方法和属性

2 读制定文件内容文件

javascript 复制代码
fs.readFile('文件路径',(err,data)=>{
    //读取后的回调函数
    //data为获取文件内容的Buffer数据流,为16进制数据
    //将16进制的Buffer数据流转换成字符串
    //data.toString()
})

3 向文件中写入内容

javascript 复制代码
fs.writeFile('文件路径','写入内容',err=>{
    //写入回调函数
})

二:path模块-路径处理

1 问题引入

在Node.js环境下执行的JS代码,是跟据终端所在路径查找文件

eg

在该截图中,利用index.js文件读取imge.txt文件。

在终端为Day01文件夹下运行node命令 node 03/index.js,index.js代码中编写的查找文件路径为../imge.txt.因此在Day01文件夹为终端的父级文件夹下查找imge.txt.

因为imge.txt在Day01文件夹下,所以找不到该文件,出现报错现象

因此,在Node.js代码中,读取文件或者其他操作时,要使用绝对路径进行相应查找

2 __dirname内置变量

作用:获取当前模块文件夹的绝对路径

D:\workSpace\front-end development\nodejs和Webpack\Day01\03

使用方法

1 加载path模块

const path = require('path')

2 使用path.join()方法,拼接路径

path.join('路径1','路径2'....)

path.join()会使用特定于平台的分隔符作为定界符,将所有给定的路径片段连接在一起

javascript 复制代码
const fs = require('fs')
console.log(__dirname);
const path = require('path')
fs.readFile(path.join(__dirname, '../', 'imge.txt'), (err, data) => {
  if (err) console.log(err)
  else console.log(data.toString())
})
相关推荐
码农阿豪5 小时前
Node.js 连金仓数据库(下篇):连接池、事务和那些坑
数据库·node.js
晓杰'5 小时前
从0到1实现Balatro游戏后端(7):Boss Blind与特殊规则实现
后端·websocket·typescript·node.js·游戏开发·项目实战·nestjs
右耳朵猫AI6 小时前
Node.js周刊2026W21 | Node.js 26.2.0、Bun v1.3.14、Rolldown 1.0、TypeORM 1.0
node.js
wgc2k7 小时前
Node.js游戏服务器项目移植 5-唯一 ID 生成方案
游戏·node.js
x***r1517 小时前
Node.js v0.12.2 安装教程(Windows x86版 node-v0.12.2-x86.msi 详细步骤)
windows·node.js
海兰8 小时前
【实用程序】 极简OA系统-详细设计及源码(基于Node.js + Express + SQLite + 原生前端)
sqlite·node.js·express
x***r15120 小时前
nvm-windows 安装教程:Node.js 多版本管理(避坑版)
windows·node.js
云水一下1 天前
掌握 Express 框架:从零到 MVC 博客系统
node.js·express
米丘1 天前
HTTP 3xx 重定向类状态码
http·node.js
丑过三八线1 天前
npm 私有仓库找不到包的解决方案
前端·npm·node.js