本文主要介绍了Node.js
常用的文件操作方法,以及常见的处理场景,文件追加,文件夹递归删除等。
文章目录
- Node.js中9种必须要掌握的文件操作方法
Node.js中9种必须要掌握的文件操作方法
一、前言
- fs.mkdir()
- fs.writeFile()
- fs.appendFile()
- fs.stat()
- fs.readFile()
- fs.readdir()
- fs.rename()
- fs.unlink()
- fs.rmdir()
二、fs.mkdir()创建文件夹
异步的创建一个文件夹。
语法:
fs.mkdir(path[,options],callback)
/**
* path <string> | <Buffer> | <URL>
* options <Object> | <integer>
* recursive <boolean> 默认值: false
* mode <string> | <integer> Windows 上不支持。 默认值: 0o777。
* callback <Function>
* err <Error>
* path <string> | <undefined> 仅当创建目录时将 recursive 设置为 true。
*/
2.1 最简单的案例
最简单的案例,在当前目录下创建一个temp
文件夹:
const fs = require('fs')
fs.mkdir('./temp',(err)=>{
if(err){
console.log(err.message)
return
}
console.log('创建文件夹成功')
})
代码执行结果:
2.2 递归创建文件夹
使用参数{recursive:true}
创建多层次的文件夹。
fs.mkdir('./parent/son/grandson',{recursive:true},(err,path)=>{
if(err){
console.log(err.message)
return
}
console.log('递归创建文件夹成功',path)
})
代码执行结果:
注意: 在使用{recursive:true}
参数时,回调对应的会增加一个path
参数,其他情况下没有。
三、fs.wirteFile()创建、写文件
当 file
是文件名时,将数据异步地写入文件,如果文件已存在则替换该文件。 data
可以是字符串或缓冲区。
当 file
是文件描述符时,其行为类似于直接调用 fs.write()
(本文不涉及这种情况)。
语法:
fs.writeFile(file, data[, options], callback)
/**
* file <string> | <Buffer> | <URL> | <integer> 文件名或文件描述符
* data <string> | <Buffer> | <TypedArray> | <DataView> | <Object>
* options <Object> | <string>
* encoding <string> | <null> 默认值: 'utf8'
* mode <integer> 默认值: 0o666
* flag <string> 请参阅对文件系统 flags 的支持。 默认值: 'w'。
* signal <AbortSignal> 允许中止正在进行的写入文件
* callback <Function>
* err <Error> | <AggregateError>
*/
3.1 创建并写入一个文件
创建一个名为index.html
的文件,并写入一行字符串。
fs.writeFile('./index.html',"<h1>你好,中国</h1>",(err)=>{
if(err){
console.log(err.message)
return
}
console.log("创建写入文件成功")
})
代码执行结果如下:
3.2 重写文件并指定编码
重写index.html
,并为文件指定编码: