前言
Nodejs通过内置的path模块和内置的fs模块实现文件读写
path模块
引入模块
1
| const path = require("path");
|
拼接路径
__dirname:当前js文件所在的目录
1 2 3
| const result = path.join("usr", "/local", "./bin", "../");
console.log(result);
|
拼接绝对路径
- 给定的参数从右向左处理,直到已经拼接成了绝对路径终止拼接
- 如果给定的参数中包含绝对路径,则从右向左拼接,直至该参数停止
- 如果给定的参数中不包含绝对路径,则从左向右拼接,直至所有参数,最后再拼接当前路径的绝对路径
- 拼接过程中,尾部斜杠会被删除
- 拼接过程中,空字符串会被忽略
/usr/main.js1 2 3
| const result = path.resolve("./local", "bin", "../main.js");
console.log(result);
|
/usr/main.js1 2 3
| const result = path.resolve("/local", "/bin", "../main.js");
console.log(result);
|
/usr/main.js1 2 3
| const result = path.resolve();
console.log(result);
|
获取文件名
1 2 3
| result = path.basename("/usr/main.js");
console.log(result);
|
获取文件扩展名
1 2 3
| result = path.extname("/usr/main.js");
console.log(result);
|
fs模块
- 在使用相对路径时,Nodejs会先将相对路径转换为绝对路径,再通过绝对路径读写文件
引入模块
1
| const fs = require("fs");
|
读取文件内容
- 如果读取成功,则err为null,dataStr为读取文件内容
- 如果读取失败,则err为错误对象,dataStr为undefined
<file>:读取文件的文件路径
utf-8:指定字符编码
1 2 3 4 5 6
| fs.readFile("<file>", "utf-8", function (err, dataStr) { if (err) { return console.log(err.message); } console.log(dataStr); });
|
写入文件内容
- 如果写入的文件名已存在,则覆盖原文件
- 写入文件时,只能创建文件,不能创建目录,如果目录不存在则会报错
<file>:写入文件的文件路径
<text>:写入的内容
utf-8:指定字符编码,可以省略,缺省值是utf-8
1 2 3 4 5
| fs.writeFile("<file>", "<text>", "utf-8", function (err) { if (err) { return console.log(err.message); } });
|
完成
参考文献
哔哩哔哩——黑马程序员
哔哩哔哩——前端开发专业教程