下面是“Node.js 中的 fs 模块与 Path 模块方法详解”攻略:
Node.js 中的 fs 模块与 Path 模块方法详解
什么是 fs 模块?
fs 模块被称为文件系统模块,是 Node.js 内置模块之一,它提供了读写文件的能力。它通过提供诸如读取、写入、更改、删除等操作文件的 API 来帮助我们完成文件系统的操作。
常用 fs 模块方法
这里介绍一些常用的 fs 模块方法。以下示例代码都假设文件已经存在。
fs.readFile()
fs.readFile()
方法用于异步读取文件内容。它需要传入文件路径、可选的编码格式和一个回调函数,回调函数以错误和读取到的文件内容为参数。示例代码如下:
const fs = require('fs');
fs.readFile('./myfile.txt', 'utf8', (err, data) => {
if (err) {
console.error(err);
return;
}
console.log(data);
});
fs.writeFileSync()
fs.writeFileSync()
方法用于同步写入文件,它需要传入文件路径、文件内容和可选的编码格式。示例代码如下:
const fs = require('fs');
fs.writeFileSync('./myfile.txt', 'Hello World!', 'utf8');
fs.existsSync()
fs.existsSync()
方法用于同步检查文件是否存在,它需要传入文件路径。示例代码如下:
const fs = require('fs');
const isExist = fs.existsSync('./myfile.txt');
console.log(isExist); // true
什么是 Path 模块?
Path 模块是 Node.js 内置模块之一,它提供了一些常用的路径相关的方法,包括拼接、解析、规范化等操作。
常用 Path 模块方法
这里介绍一些常用的 Path 模块方法。
path.join()
path.join()
方法用于拼接路径,它会将传入的参数使用 path 分隔符拼接成一个完整的路径。 示例代码如下:
const path = require('path');
const fullPath = path.join('/path', 'to', 'my', 'file.txt');
console.log(fullPath); // /path/to/my/file.txt
path.parse()
path.parse()
方法用于解析路径,它会将一个路径解析成一个对象,对象包含文件名、文件扩展名、路径名等各种信息。 示例代码如下:
const path = require('path');
const filePath = '/path/to/my/file.txt';
const pathObj = path.parse(filePath);
console.log(pathObj);
/* 输出:
{
root: '/',
dir: '/path/to/my',
base: 'file.txt',
ext: '.txt',
name: 'file'
}
*/
示例说明
示例一:读写文件
以下是一个实际应用的例子,使用fs
模块的readFile()
方法和writeFile()
方法,将index.html
文件的内容读取出来,修改文件内容并将修改后的内容重新写入index.html
中。
const fs = require("fs");
fs.readFile('index.html', 'utf8', function (err, data) {
if (err) {
return console.log(err);
}
const result = data.replace(/<title>My App<\/title>/g, '<title>New App</title>');
fs.writeFile('index.html', result, 'utf8', function (err) {
if (err) return console.log(err);
});
});
示例二:删除文件夹
以下是一个实际应用的例子,使用fs
模块和path
模块的readdirSync()
、lstatSync()
和rmdirSync()
方法来删除一个文件夹及其内部的所有文件。
const fs = require('fs');
const path = require('path');
function removeFolder(dirPath) {
if (fs.existsSync(dirPath)) {
fs.readdirSync(dirPath).forEach((file, index) => {
const curPath = path.join(dirPath, file);
if (fs.lstatSync(curPath).isDirectory()) {
removeFolder(curPath);
} else {
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(dirPath);
}
}
removeFolder('/path/to/dir');
以上就是“Node.js 中的 fs 模块与 Path 模块方法详解”的攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Node.js 中的 fs 模块与Path模块方法详解 - Python技术站