Node.js 中的 fs 模块的使用

栏目: IT技术 · 发布时间: 4年前

内容简介:JavaScript 的是没有操作文件的能力,但是 Node 是可以做到的,Node 提供了操作文件系统模块,是 Node 中使用非常重要和高频的模块,是绝对要掌握的一个模块系统。

Node.js 中的 fs 模块的使用

JavaScript 的是没有操作文件的能力,但是 Node 是可以做到的,Node 提供了操作文件系统模块,是 Node 中使用非常重要和高频的模块,是绝对要掌握的一个模块系统。

fs 模块提供了非常多的接口,这里主要说一下一些常用的接口。

常用API快速复习

fs.stat 检测是文件还是目录

Node.js 中的 fs 模块的使用

fs.mkdir 创建目录

Node.js 中的 fs 模块的使用

fs.rmdir 删除目录

Node.js 中的 fs 模块的使用

fs.wireFile 创建写入文件

Node.js 中的 fs 模块的使用

fs.appendFile 追加文件

Node.js 中的 fs 模块的使用

fs.readFile 读取文件

Node.js 中的 fs 模块的使用

fs.unlink 删除文件

Node.js 中的 fs 模块的使用

fs.readdir 读取目录

Node.js 中的 fs 模块的使用

fs.rename 重命名,还可以更改文件的存放路径

Node.js 中的 fs 模块的使用

第三方 NPM 包 mkdirp 的使用

mkdirp 不仅可以创建文件夹,还可以创建多层的文件夹,类似  mkdir -p  命令

midir -p tmp/foo/bar/baz

上述命令也可以在当前目录创建多层级文件夹。

如下代码在当前目录生成多层级文件夹

Node.js 中的 fs 模块的使用

结果

Node.js 中的 fs 模块的使用

实战举例

实战1

判断服务器上面有没有 upload 目录。如果没有就创建这个目录,如果有的话不做操作

Node.js 中的 fs 模块的使用

实战2

wwwroot 文件夹下面有 images css js 以及 index.html, 找出 wwwroot 目录下面的所有的目录,然后放在一个数组中

使用同步方法方式

Node.js 中的 fs 模块的使用

使用 async/await 方式

Node.js 中的 fs 模块的使用

管道流

管道提供了一个输出流到输入流的机制。通常我们用于从一个流中获取数据并将数据传递到另外一个流中。以下实例我们通过读取一个文件内容并将内容写入到另外一个文件中。

Node.js 中的 fs 模块的使用

fs.createReadStream  从文件流中读取数据

Node.js 中的 fs 模块的使用

fs.createWriteStream  从文件流中写入数据

Node.js 中的 fs 模块的使用

实战:复制图片

在项目根目录有一张图片 2020.png ,把它复制到  /wwwroot/images  中

Node.js 中的 fs 模块的使用

代码如下

Node.js 中的 fs 模块的使用

需要特别注意的是, fs.createWriteStream  要写入的目录一定要带上要复制的文件名,也就是不能写成  fs.createWriteStream('./wwwroot/images/')  否则在 macOS 下会报如下错误:

Error: EISDIR: illegal operation on a directory, open <directory>

完。

本文源码: https://github.com/dunizb/CodeTest/tree/master/Node/fs

Node.js 中的 fs 模块的使用

全文完

访问带链接版请点击阅读原文

往期精彩回顾   

聚焦 大前端 技术和 成长 的公众号

关注我的公众号,第一时间接收原创、精选干货文章

Node.js 中的 fs 模块的使用

Node.js 中的 fs 模块的使用


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

逆流而上

逆流而上

阿里巴巴集团成长集编委会 / 电子工业出版社 / 2017-11 / 59.00

本书是阿里巴巴集团荣耀背后的技术血泪史。全书通过分享业务运行过程中各个领域发生的典型“踩坑”案例,帮助大家快速提升自我及团队协作,学习到宝贵的处理经验及实践方案,为互联网生产系统的稳定共同努力。从基础架构、中间件、数据库、云计算、大数据等技术领域中不断积累经验,颠覆技术瓶颈,不断创新以适应不断增长的需求。 本书主要面向互联网技术从业人员和在校师生,使读者能够通过此书基本了解阿里在各技术领域的能力,......一起来看看 《逆流而上》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具