分享一些Nodejs常用文件fs模块API(总结)
时间:2021-08-24
来源:互联网
标签:
今天PHP爱好者给大家带来本篇文章整理记录了工作中常用的一些Nodejs文件fs模块API,免的下次又忘了。希望对大家有所帮助。

作为一个web开发工程师,免不了跟Nodejs打交道,其中的fs模块非常有用,可以执行一些文件相关的操作,可总是记了忘、忘了记。今天打算再整理记录一下,免的下次又忘了。
同步与异步
fs模块的文件操作一般支持同步和异步两种API,异步又包括了回调函数和promsie的形式。同步一般后面带sync字样。
打开、关闭文件
fs.open(path:string,callback:(err,fd)=>void)用于打开文件,获取文件描述符(file descriptor),基于拿到的文件描述符做文件操作。fs.close(fd:number,callback:(err)=>void)用于关闭文件
//打开文件
fs.open(path,(err,fd)=>{
//针对拿到的fd 进行操作
//关闭文件
fs.close(fd, (err) => {
if (err) throw err;
});
})
一般用于对文件做多种操作时使用。如果你仅仅想读取文件的内容建议用fs.readFile
读取文件(目录)
读取文件:fs.readFile(path:string,callback:(err,data)=>void)
fs.readFile(path,(err,data)=>{
//string或者buffer
console.log(data)
})
读取目录:fs.readdir(path:string,callback:(err,files:Array<string>)=>void)
fs.readdir("./dir",(err,fileNames)=>{
console.log(fileNames)
})
还有一种方式通过文件描述符来读取:
fs.read(fd,buffer,offset,length,position,callback:(err,bytesLen,buffer)=>void)
//分配一块长度为10的缓存区
const buffer = Buffer.alloc(10);
//打开文件
fs.open(path,(err,fd)=>{
//针对拿到的fd 进行操作:将fd对应的文件内容读取到buffer里
//position为文件的起点
//length为读取的长度
//offset为缓存区起读的位置
fs.read(fd,buffer,offset,length,position,(err,bytesLen,buffer)=>{
//buffer为包含读到数据的原始buffer对象
//bytesLen === length;// true
})
//关闭文件
fs.close(fd, (err) => {
if (err) throw err;
});
})
写入文件
将数据写入文件,数据可以是字符串或buffer:fs.writeFile(path,data,callback:(err)=>void)
fs.writeFile('message.txt', data, (err) => {
if (err) throw err;
});
还有另一种方式,通过文件描述符fd来写文件:
fs.open(path,(err,fd)=>{
//针对拿到的fd 进行操作:将buffer内容写如fd对应的文件里
//position为文件的起点
//length为待写的长度
//offset为缓存区起写的位置
fs.write(fd,buffer,offset,length,position,(err,bytesWrittenLen,buffer)=>{
})
//关闭文件
fs.close(fd, (err) => {
if (err) throw err;
});
})
删除文件(目录)
删除文件:fs.unlink(path, callback:(err)=>void)
删除目录:fs.rmdir(path,callback:(err)=>void)
同时支持删除目录和文件:fs.rm(path,callback:(err)=>void)
查看目录(文件)的状态信息
fs.stat(path,(err,stat)=>{
//stat包含了该目录或文件的大小、创建时间、更新时间,是目录还是文件等
//stats.isDirectory()
//stats.isFile()
})
重命名
重命名包括重命名文件和目录
//文件
fs.rename('oldFile.txt', 'newFile.txt', (err) => {
if (err) throw err;
console.log('Rename complete!');
});
//目录
fs.rename('oldFileDir', 'newFileDir', (err) => {
if (err) throw err;
console.log('Rename complete!');
});
最后
感谢阅读,如果有任何的问题欢迎留言讨论,谢谢!
以上就是分享一些Nodejs常用文件fs模块API(总结)的详细内容,更多请关注php爱好者其它相关文章!
-
USB Host接口有什么用?USB Host和USB Device接口的区别 时间:2025-12-16 -
HDMI怎么区分1.4和2.0?HDMI1.4和2.0的区别 时间:2025-12-16 -
com.android.phone已停止运行是什么意思?怎么解决? 时间:2025-12-16 -
4mp摄像头是多少像素?4mp和1080p有什么区别? 时间:2025-12-16 -
电脑出现normal.dotm错误怎么办?解决方法是什么? 时间:2025-12-15 -
normal.dotm在哪个文件夹里 如何删除normal模板 时间:2025-12-15
今日更新
-
迷雾大陆兑换码大全-2025年最新礼包码一键领取
阅读:18
-
欧易DCA策略详解:如何有效使用降低投资风险
阅读:18
-
拷贝漫画APP官方正版免费下载-拷贝漫画APP手机版高速下载入口
阅读:18
-
EA账号注册全攻略-手把手教你创建EA账号
阅读:18
-
想知道喷雾是什么梗?揭秘网络热词背后的搞笑真相,点击了解详情!
阅读:18
-
禁漫JMComic永久入口链接-最新JMComic3.Mic官网地址一键直达
阅读:18
-
学科网登录入口-初中数学学科网官网登录入口
阅读:18
-
朋克是什么梗?揭秘年轻人反叛精神的网络新表达,一图看懂潮流文化内核
阅读:18
-
欧易信号类策略交易操作指南:新手必看步骤详解
阅读:18
-
瓦罗兰特如何修改地区-瓦罗兰特地区更改全流程
阅读:18










