【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())
})
相关推荐
FungLeo17 小时前
成为全栈·Node 后端篇·阅读量防刷:去重、冷却与计数写分离
node.js·读写分离·数据去重·接口防刷·成为全栈·数据冷却
脉动数据行情11 天前
Node.js WebSocket 实现贵金属实时行情监听 伦敦金 / 伦敦银自动重连方案
websocket·node.js·vim
不老刘1 天前
一行命令解决 Node.js 版本兼容问题:`--openssl-legacy-provider` 深度解析
node.js
万敏2 天前
Vue3 全栈实战:第一阶段复盘(第1-8周)
vue.js·node.js·全栈
濮水大叔2 天前
舒服了,CabloyJS 的 AI Spec 驱动开发会自动生成甘特图和燃尽图
typescript·node.js·vibecoding
FungLeo2 天前
成为全栈·Node 后端篇·部署上线:从本地起服到真正对外服务
node.js·后端部署·成为全栈
妙码生花2 天前
golang 应用服务端部署(使用 systemd 服务)
开发语言·人工智能·后端·golang·node.js·php·gin
柚稚姐姐2 天前
npm install pnpm -g npm error code EACCES npm error syscall symlink
前端·npm·node.js
FungLeo3 天前
成为全栈·Node 后端篇·容器化:给 Node 应用写一个像样的 Dockerfile
docker·node.js·dockerfile·成为全栈·后端服务容器·docker 容器
WeiXin_DZbishe3 天前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php