【笔记】Nodejs的文件和目录操作

前言

Nodejs通过fs模块实现对文件和目录操作,通过path模块实现对路径的操作

fs模块

引入依赖

1
const fs = require("fs");

创建目录

1
2
3
fs.mkdir("<dir>", function (err) {
...
});

获取当前目录内的文件和目录列表

  • 获取文件名和目录名列表
1
2
3
fs.readdir("<dir>", function (err, files) {
...
});
  • 获取文件对象和目录对象列表
1
2
3
fs.readdir("<dir>", { withFileTypes: true }, function (err, files) {
...
});

获取是否是目录

1
2
3
4
5
fs.readdir("<dir>", { withFileTypes: true }, function (err, files) {
for (file of files) {
const isDirectory = file.isDirectory();
}
});

重命名文件或目录

  • 如果包含路径可以移动文件或目录
1
2
3
fs.rename("<file_old>", "<file_new>", function (err) {
...
});

path模块

引入依赖

1
const path = require("path");

拼接路径

__dirname:当前js文件所在的目录

1
2
3
const result = path.join("usr", "/local", "./bin", "../");

console.log(result); // "usr/local/"

拼接绝对路径

  • 给定的参数从右向左处理,直到已经拼接成了绝对路径终止拼接
    • 如果给定的参数中包含绝对路径,则从右向左拼接,直至该参数停止
    • 如果给定的参数中不包含绝对路径,则从左向右拼接,直至所有参数,最后再拼接当前路径的绝对路径
  • 拼接过程中,尾部斜杠会被删除
  • 拼接过程中,空字符串会被忽略
/usr/main.js
1
2
3
const result = path.resolve("./local", "bin", "../main.js");

console.log(result); // "/usr/local/main.js"
/usr/main.js
1
2
3
const result = path.resolve("/local", "/bin", "../main.js");

console.log(result); // "/main.js"
/usr/main.js
1
2
3
const result = path.resolve();

console.log(result); // "/usr"

获取文件名

1
2
3
result = path.basename("/usr/main.js");

console.log(result); // "main.js"

获取文件后缀名

1
2
3
result = path.extname("/usr/main.js");

console.log(result); // ".js"

完成

参考文献

哔哩哔哩——黑马程序员
哔哩哔哩——前端开发专业教程