Node.js 第十四章- 文件系统 (上)

一、Node.js提供一组类似UNIX(POSIX)标准的文化操作API。

Node导入文件系统模块(fs)语法所示:

var fs = require("fs")

二、异步和同步

Node.js文件系统(fs模块)模块中的方法均有异步和同步的版本。

例如,读取文件的内容的函数有异步:fs.readFile() 和同步的 fs.readFileSync()

异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error)

建议使用异步方法,比起同步。异步方法性能更高,速度更快,而且没有阻塞。

例子1:创建file.js,代码如下:

执行结果如下:

 

三、接下来,具体了解下Node.js文件系统的方法。

1.打开文件

语法:

以下为在异步模式下打开文件的语法格式:

fs.open(path, flags[, mode], callback) 

参数:

1.1 path  - 文件路径。

1.2 flags - 文件打开的行为。具体值详见下文。

1.3 mode - 设置文件模式(权限), 文件创建默认权限为0666(可读,可写)

1.4 callback - 回调函数,带有两个参数如: callback(err, fd)

例子:

执行结果如下:

 

四、获取文件信息

语法:

以下为通过异步模式获取文件信息的语法格式:
fs.stat(path, callback)

参数:

1.1 path - 文件路径

1.2 callback - 回调函数:带有两个参数如(err, stats), stats是fs.stats对象。

fs.stat(path)执行后,会将stats类的实例返回给其回调函数。

可以通过stats类中的提供方法判断文件的相关属性。

例如判断是否为文件:

 

执行结果为:

 

执行代码:

 

执行结果为:

 

五、写入文件

语法:
异步模式语法:

fs.writeFile(file, data[, options], callback) 

writeFIle直接打开文件默认是w模式,所以如果文件存在,该方法写入内容会覆盖旧的文件内容。

参数

1.1 file - 文件名或文件描述符。

1.2 data - 要写入文件的数据,可以是string(字符串)或Buffer(缓冲)对象。

1.3 options - 该参数是一个对象,包含{encoding, mode, flag}. 默认编码为utf8,模式为 0666,flag为'w'

1.4 callback - 回调函数,回调函数只包含错误信息参数(err),在写入失败时返回。

实例:

创建file4.js,代码如下:

 

 执行结果:

 

六、读取文件

语法:

fs.read(fd, buffer, offset, length, position, callback)

该方法用了文件描符来读取文件。

参数:

1.1 fd - 通过fs.open() 方法返回的文件描述符。

1.2 buffer - 数据写入的缓冲区。

1.3 offset - 缓冲区写入的写入偏移量。

1.4 length - 要从文件中读取的字节数。

1.5 position - 文件读取的起始位置,如果position的值为null,则会从当前文件指针的位置读取。

1.6 callback - 回调函数,有是那个参数err, bytesRead, buffer, err为错误信息,bytesRead表示读取的字节数,buffer为缓冲区对象。 

 

实例:

创建file5.js

执行结果为:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值