本文共 2597 字,大约阅读时间需要 8 分钟。
在Node.js开发过程中,文件系统操作是日常工作中的重要部分。要高效地进行文件读写、目录管理等操作,Node.js内置的fs模块提供了丰富的功能。以下将详细介绍fs模块的常用方法及其使用示例。
在使用fs模块之前,需要先引入它。Node.js模块的引入方式如下:
const fs = require('fs'); fs.stat方法用于获取文件或目录的状态信息。可以判断文件是否为文件或目录,并获取相关属性。
// 检测当前目录是否为文件或目录fs.stat('./html',(err, data) => { if (err) { console.log(err); return; } console.log(`是文件:${data.isFile()}`); console.log(`是目录:${data.isDirectory()}`);});// 检测package.json是否为文件fs.stat('./package.json',(err, data) => { if (err) { console.log(err); return; } console.log(`是文件:${data.isFile()}`); console.log(`是目录:${data.isDirectory()}`);}); fs.mkdir用于创建目录,支持指定路径和权限。默认权限为777(读写执行)。
// 创建css目录fs.mkdir('./css',(err) => { if (err) { console.log(err); return; } console.log('创建成功');}); fs.writeFile用于将数据写入文件。支持指定文件名、内容和编码方式,默认使用utf8编码。
// 写入html/index.html文件fs.writeFile('./html/index.html','你好nodejs',(err) => { if (err) { console.log(err); return; } console.log('创建写入文件成功');}); fs.appendFile用于在文件末尾追加内容,常用于日志记录等场景。
// 在css/base.css追加内容fs.appendFile('./css/base.css','body{color:red}',(err) => { if (err) { console.log(err); return; } console.log('appendFile 成功');}); fs.readFile用于读取文件内容,支持指定编码方式。
// 读取html/index.html文件fs.readFile('./html/index.html',(err, data) => { if (err) { console.log(err); return; } console.log(data); console.log(data.toString()); // 将Buffer转换为字符串}); fs.readdir用于获取指定目录下的文件和目录列表。
// 读取html目录下的文件fs.readdir('./html',(err, data) => { if (err) { console.log(err); return; } console.log(data);}); fs.rename方法可用于重命名文件或移动文件到其他目录。
// 重命名css/aaa.css为css/index.cssfs.rename('./css/aaa.css','./css/index.css',(err) => { if (err) { console.log(err); return; } console.log('重命名成功');});// 移动css/index.css到html目录fs.rename('./css/index.css','./html/index.css',(err) => { if (err) { console.log(err); return; } console.log('移动文件成功');}); fs.rmdir用于删除指定目录。操作前需确保目录为空。
// 删除aaaa目录fs.rmdir('./aaaa',(err) => { if (err) { console.log(err); return; } console.log('删除目录成功');}); fs.unlink用于删除指定文件。
// 删除aaaa/index.html文件fs.unlink('./aaaa/index.html',(err) => { if (err) { console.log(err); return; } console.log('删除文件成功');}); 通过以上方法,可以轻松地完成文件和目录的读写、重命名、删除等操作。在实际开发中,需根据具体需求选择合适的方法,并注意处理异常情况。
转载地址:http://otjfk.baihongyu.com/