打开文件:
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))
删除目标文件
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------