您的位置:首页 > Web前端 > Node.js

nodejs-fs模块

2016-03-20 15:37 405 查看
fs模块提供的API基本上可以分为以下三类:
文件属性读写。
其中常用的有fs.stat、fs.chmod、fs.chown等等。
文件内容读写。
其中常用的有fs.readFile、fs.readdir、fs.writeFile、fs.mkdir等等。
底层文件操作。
其中常用的有fs.open、fs.read、fs.write、fs.close等等。

NodeJS最精华的异步IO模型在fs模块里有着充分的体现,例如上边提到的这
些API都通过回调函数传递结果。以fs.readFile为例

Path(路径)
操作文件时难免不与文件路径打交道。NodeJS提供了path内置模块来简化路
径相关操作,并提升代码可读性。以下分别介绍几个常用的API。
path.normalize
将传入的路径转换为标准路径,具体讲的话,除了解析路径中的.与..外,还能去掉多余的斜
杠。如果有程序需要使用路径作为某些数据的索引,但又允许用户随意输入路径时,就需要使
用该方法保证路径的唯一性。以下是一个例子:

坑出没注意: 标准化之后的路径里的斜杠在Windows系统下是\,而在Linux系统下
是/。如果想保证任何系统下都使用/作为路径分隔符的话,需要
用.replace(/\\/g, '/')再替换一下标准路径。

path.join
将传入的多个路径拼接为标准路径。该方法可避免手工拼接路径字符串的繁琐,并且能在不同
系统下正确使用相应的路径分隔符。以下是一个例子:
path.join('foo/', 'baz/', '../bar'); // => "foo/bar"

path.extname
当我们需要根据不同文件扩展名做不同操作时,该方法就显得很好用。以下是一个例子:
path.extname('foo/bar.js'); // => ".js"

递归算法

使用递归算法编写的代码虽然简洁,但由于每递归一次就产生一次函数调用,在
需要优先考虑性能时,需要把递归算法转换为循环算法,以减少函数调用次数。

pipe函数实现了文件读写操作中缓冲池溢出的问题

一个完整的文件读写的例子

来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: