这篇文章主要介绍了Node.js中fs模块文件操作方法实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node.js中fs模块文件操作方法实例分析文章都会有所收获,下面我们一起来看看吧。fs.mkdir()fs.writeFile()fs.appendFile()fs.stat()fs.readFile()fs.readdir()fs.rename()fs.unlink()fs.rmdir()异步的创建一个文件夹:语法:最简单的案例,在当前目录下创建一个temp
文件夹:代码执行结果:使用参数{recursive:true}
创建多层次的文件夹。代码执行结果:注意: 在使用{recursive:true}
参数时,回调对应的会增加一个path
参数,其他情况下没有。当 file
是文件名时,将数据异步地写入文件,如果文件已存在则替换该文件。 data
可以是字符串或缓冲区。当 file
是文件描述符时,其行为类似于直接调用 fs.write()
(本文不涉及这种情况)。语法:创建一个名为index.html
的文件,并写入一行字符串。代码执行结果如下:重写index.html
,并为文件指定编码:代码执行效果如下:原文件内容被覆盖。Node.js
仅支持utf8 ucs2 ascii binary base64 hex
这几种格式,对于GBK
,GB2312
等特殊格式需要使用额外的库(这里使用iconv-lite
)。案例:代码执行结果:注意底部的编码格式,如果使用utf-8
打开文件会乱码的呦!异步地将数据追加到文件,如果该文件尚不存在,则创建该文件。语法:代码执行结果:代码执行结果:判断路径是文件还是目录。语法:判断index.html
是文件还是目录。代码执行效果:异步地读取文件的全部内容。语法:以默认的格式(utf-8
)读取文件内容:代码执行结果:如果要读取的文件不是utf-8
格式,就会出现乱码,这时就需要指定读取格式。遗憾的是,node.js
不支持除了utf8 ucs2 ascii binary base64 hex
之外的编码,我们需要使用额外的包(iconv-lite
)读取GBK
文件:代码执行结果如下:读取目录的内容。 回调有两个参数 (err, files)
,其中 files
是目录中文件名的数组,不包括 '.'
和 '..'
。语法:读取当前文件夹下所有的文件。代码执行结果:PS D:CodeStudyNodedemos> node . 1-fs.js
[
’01-fs.js’,
‘index.html’,
‘node_modules’,
‘package-lock.json’,
‘package.json’,
‘style.css’,
‘temp’
]我们可以在读取文件列表的时候,获取文件的类型。代码执行结果:PS D:CodeStudyNodedemos> node . 1-fs.js
[
Dirent { name: ’01-fs.js’, [Symbol(type)]: 1 },
Dirent { name: ‘index.html’, [Symbol(type)]: 1 },
Dirent { name: ‘node_modules’, [Symbol(type)]: 2 },
Dirent { name: ‘package-lock.json’, [Symbol(type)]: 1 },
Dirent { name: ‘package.json’, [Symbol(type)]: 1 },
Dirent { name: ‘style.css’, [Symbol(type)]: 1 },
Dirent { name: ‘temp’, [Symbol(type)]: 2 }
]将 oldPath
处的文件异步重命名为作为 newPath
提供的路径名。 如果 newPath
已经存在,则它将被覆盖。 如果在 newPath
中有目录,则会引发错误。 除了可能的异常之外,没有为完成回调提供任何参数。将index.html
重命名为main.html
。代码执行结果:PS E:CodeNodedemos> node . 1-fs.js
重命名成功
PS E:CodeNodedemos> ls目录: E:CodeNodedemos
Mode LastWriteTime Length Name
—- ————- —— —-
d—– 2022/7/4 18:43 node_modules
da—- 2022/7/4 17:33 temp
-a—- 2022/7/4 19:48 6210 01-fs.js
-a—- 2022/7/4 16:23 27 main.html (*)
-a—- 2022/7/4 16:58 1455 package-lock.j免费云主机域名son
-a—- 2022/7/4 16:57 55 package.json
-a—- 2022/7/4 17:05 18 style.css
-a—- 2022/7/4 19:40 12 test.txt将./main.html
移动到./temp/main.html
。代码执行结果:PS E:CodeNodedemos> node . 1-fs.js
移动文件成功
PS E:CodeNodedemos> ls .temp 目录: E:CodeNodedemostempMode LastWriteTime Length Name
—- ————- —— —-
-a—- 2022/7/4 16:23 27 main.htmlPS E:CodeNodedemos>异步地删除文件或符号链接。 除了可能的异常之外,没有为完成回调提供任何参数。代码执行结果:PS E:CodeNodedemos> ls .temp目录: E:CodeNodedemostempMode LastWriteTime Length Name
—- ————- —— —-
-a—- 2022/7/4 20:03 0 main.htmlPS E:CodeNodedemos> node . 1-fs.js
删除文件成功
PS E:CodeNodedemos> ls .temp
PS E:CodeNodedemos>删除指定路径的文件夹。语法:删除./temp
文件夹。代码执行结果:PS E:CodeNodedemos> ls . 目录: E:CodeNodedemosMode LastWriteTime Length Name
—- ————- —— —-
d—– 2022/7/4 18:43 node_modules
da—- 2022/7/4 20:03 temp
-a—- 2022/7/4 20:09 7666 01-fs.js
-a—- 2022/7/4 16:58 1455 package-lock.json
-a—- 2022/7/4 16:57 55 package.json
-a—- 2022/7/4 17:05 18 style.css
-a—- 2022/7/4 19:40 12 test.txtPS E:CodeNodedemos> node . 1-fs.js
删除空的文件夹
PS E:CodeNodedemos> ls目录: E:CodeNodedemosMode LastWriteTime Length Name
—- ————- —— —-
d—– 2022/7/4 18:43 node_modules
-a—- 2022/7/4 20:09 7666 01-fs.js
-a—- 2022/7/4 16:58 1455 package-lock.json
-a—- 2022/7/4 16:57 55 package.json
-a—- 2022/7/4 17:05 18 style.css
-a—- 2022/7/4 19:40 12 test.txt这里使用的是同步的文件处理函数,用于递归的删除文件夹。代码执行结果:PS E:CodeNodedemos> node . 1-fs.js
删除.package-lock.json文件成功
删除dependabot.yml文件成功
删除codeStyleConfig.xml文件成功
删除Project.xml文件成功
删除iconv-lite.iml文件成功
… …本文总结了Node.js
常用的文件操作方法,以及常见的文件处理场景。主要包括:fs.mkdir()fs.writeFile()fs.appendFile()fs.stat()fs.readFile()fs.readdir()fs.rename()fs.unlink()fs.rmdir()关于“Node.js中fs模块文件操作方法实例分析”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Node.js中fs模块文件操作方法实例分析”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。
相关推荐: elementè¡¨æ ¼å¤çº§è¡¨å¤´åååºå®æä¹å®ç°
elementelementelement table fixe免费云主机域名d element相关推荐: nvm如何删除node这篇文章主要讲解了“nvm如何删除node”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。