Node.js fs模块文件与目录读写操作详解
本文详细介绍Node.js中fs模块的文件与目录操作方法。涵盖readFile读取、writeFile写入及追加模式、mkdir创建目录、readdir读取目录、unlink删除文件和rmdir删除空文件夹的具体用法与参数说明,附带完整代码示例,帮助开发者掌握Node.js基础IO操作。
Node.js fs模块文件与目录读写操作详解
本文通过具体实例,讲解如何利用Node.js中的fs模块实现对系统文件和目录的读写操作,供读者参考学习。
使用fs模块前需先引入该模块,由于fs是Node.js内置模块,直接引入即可使用。
var fs = require('fs');
1. 读取文件:readFile方法的使用
通过fs.readFile(filename,[option],callback) 方法可以读取文件内容。
该方法主要包含以下参数:
filename String 文件名 option Object encoding String |null default=null flag String default='r' callback Function
// 设置编码格式
fs.readFile('./test.txt', 'utf-8', function(err, data) {
// 读取文件失败/错误
if (err) {
throw err;
}
// 读取文件成功
console.log('utf-8: ', data.toString());
});
2. 写入文件:writeFile方法的使用
使用fs.writeFile(filename,data,[options],callback)方法将内容写入文件。
该方法包含以下参数说明:
filename String 文件名 data String|buffer option Object encoding String |null default='utf-8' mode Number default=438 (即八进制的0666) flag String default='w' callback Function
var fs = require('fs'); // 引入fs模块
// 写入文件内容(如果文件不存在会创建一个文件)
// 写入时会先清空文件
fs.writeFile('./test2.txt', 'test test', function(err) {
if (err) {
throw err;
}
console.log('Saved.');
// 写入成功后读取测试
fs.readFile('./test2.txt', 'utf-8', function(err, data) {
if (err) {
throw err;
}
console.log(data);
});
});
默认情况下,flag参数为'w'表示写入,这会清空文件原有内容。若需追加内容,可传递flag参数进行设置。
flag参数的常见取值包括:'r'代表读取文件,'w'代表写文件,'a'代表追加文件。
var fs = require('fs'); // 引入fs模块
// 写入文件内容(如果文件不存在会创建一个文件)
// 传递了追加参数 { 'flag': 'a' }
fs.writeFile('./test2.txt', 'test test', { 'flag': 'a' }, function(err) {
if (err) {
throw err;
}
console.log('Saved.');
// 写入成功后读取测试
fs.readFile('./test2.txt', 'utf-8', function(err, data) {
if (err) {
throw err;
}
console.log(data);
});
});
3. 创建目录:mkdir方法的使用
使用fs.mkdir(path,[mode],callback)方法创建目录。其中path参数指定需要创建的目录路径,[mode]参数指定目录权限(默认为0777),callback为回调函数。
var fs = require('fs'); // 引入fs模块
// 创建 newdir 目录
fs.mkdir('./newdir', function(err) {
if (err) {
throw err;
}
console.log('make dir success.');
});
4. 读取目录:readdir方法
var fs = require('fs'); // 引入fs模块
fs.readdir('./newdir', function(err, files) {
if (err) {
throw err;
}
// files是一个数组
// 每个元素是此目录下的文件或文件夹的名称
console.log(files);
});
5. 删除文件:unlink方法
var fs = require('fs'); // 引入fs模块
fs.unlink('./newfile.txt', function(err) {
if (err) {
console.log(err);
return false;
}
console.log("success");
});
6. 删除空文件夹:rmdir方法
var fs = require('fs'); // 引入fs模块
fs.rmdir('./newdir', function(err) {
if (err) {
console.log(err);
return false;
}
console.log("success");
});
希望本文介绍的内容能对Node.js程序设计有所帮助。
macOS卸载Node.js指南:区分Homebrew与pkg安装包的处理方式
2026-11-05 11:28:12
JS逆向入门:浏览器Console调试与Node.js环境搭建指南
2026-11-05 10:57:15
Node.js 大版本升级需要注意哪些破坏性变更
2026-11-03 20:35:44
Node.js官网LTS版与Current版有什么区别
2026-11-03 19:33:49
Windows彻底卸载Node.js:清理AppData残留与PATH环境变量
2026-11-03 19:15:35
