fs模块主要功能小解

打开文件:

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

path: 要打开的文件的路径

flags: 文件打开的行为

解析:

r 读取

w 写入并删除原内容

+

r+ 可读取可写入(若目标文件不存在报错

w+ 可读取可写入(若目标文件不存在新建

a+ 可读取可追加(若目标文件不存在新建

a追加(不删除原内容)

x独占模式

callback: 回调函数,两个参数(err, fd)

fd: 文件描述符

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

读取:

方法一: fs.read(fd, buffer, offset, length, position, callback(err, bytesRead, buffer))

功能: 读取并写入buffer

fd: 文件描述符

buffer: 要写入的buffer

offset: 写入bufffer的起始位置

length: 写入buffer的长度,也是读取长度

position: 读取位置,为null时为当前为本指针位置

方法二: fs.readFile(path, [,encoding], callback(err, data))

功能: 读取,简化的读取文件方法,不需要事先open,也不需要close,整个读取

encoding: 指定读取时的编码方式,为空的情况下以buffer的形式返回

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

写入:

方法一: fs.write

1.写入buffer: fs.write(fd, buffer, offset, length,[, position], callback(err, bytesRead, buffer))

----------------------------------------对象--------------目标--------------------------------------

buffer: 可写入buffer

offset: 要写入的buffer的起始位置

length: 要写入的buffer的长度,数字类型,以字节为单位

position: 写入的对象的位置,为null时为当前文件指针的位置(仅对w有效,其默认位置为0, 对a无效,无论数字,多少都是从最后追加,不可不填)

callback:三个参数(err, bytesRead, buffer)

bytesRead: 写入的字节数

buffer: 写入的buffer

 

2.写入string时:fs.write(fd, str,[,postion][, encoding], callback(err, written, str))

str: 写入的字符串

encoding: 以什么样的编码方式写入

callback 有3个参数(err, written, string)

written: 写入的字节数

str: 写入的字符串

方法二: fs.writeFile(fileName, buffer/str, [options], [callback(err)])

1.写入buffer时: fs.writeFile(fileName, buffer, callback(err))

2.写入string时: fs.writeFile(fileName, str, [options], [callback(err)])

options包括:

encoding:编码方式默认utf-8

flag:默认w

mode: 文件读取权限,默认438

eg: options = { encoding: 'utf8', mode: 438, flag: 'w' };

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

关闭:

fs.close(fd, callback(err))

回调函数没有参数

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

截取:

fs.ftruncate(fd, len, callback(err))

len: 从目标文件的起始位置开始,以字节为单位截取,大于len的字符串会被删除

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

删除:

fs.unlink(path, callback(err))

删除目标文件

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------


原文地址:https://www.cnblogs.com/yanze/p/6078808.html