fs 写入文件 没问文件夹创建
时间: 2023-09-01 19:05:06 浏览: 44
在进行文件写入操作时,如果文件路径中指定的文件夹不存在,会出现文件写入失败的情况。因此,在使用fs模块写入文件的时候,我们需要确保要写入的文件夹是存在的。若文件夹不存在,可以通过fs模块提供的函数来创建文件夹。以下是一个使用fs模块进行文件写入并自动创建文件夹的示例代码:
```javascript
const fs = require('fs');
const path = require('path');
// 定义要写入的文件和文件夹路径
const filePath = './folderName/fileName.txt';
// 检查文件夹是否存在,如果不存在则创建
const folderPath = path.dirname(filePath);
if (!fs.existsSync(folderPath)) {
fs.mkdirSync(folderPath, { recursive: true });
}
// 要写入的文件内容
const content = '这是要写入的内容';
// 执行文件写入
fs.writeFile(filePath, content, (err) => {
if (err) {
console.error('文件写入失败:', err);
return;
}
console.log('文件写入成功!');
});
```
通过使用上述代码,可以在写入文件的同时创建不存在的文件夹。其中,`fs.existsSync()`函数用于检查文件夹是否存在,`fs.mkdirSync()`函数用于创建文件夹。需要注意的是,在创建文件夹时,应设定`recursive`选项为`true`,以支持创建多级嵌套文件夹。