Node之文件的完整读写

2019-12-27  本文已影响0人  27亿光年中的小小尘埃

文件的完整读写

文件的读写需要引入node核心模块fs

let fs=require('fs')

readFile(filename, [options], callback)异步读取文件

fs.readFile(filename, [options], callback)

在readFile方法中,使用三个参数,其中filename参数与callback参数为必须指定的参数,options参数为可选参数。filename参数用于指定读取文件的完整文件路径及文件名,options参数值为一个对象,在其中指定读取文件时需要使用的选项,在该参数值对象中可以使用flag属性指定对该文件采取什么操作,默认值为'r'(如果指定读取的文件不存在,则抛出异常)

options配置文件中flag(权限)可选值如下

在options参数值中,可使用encoding属性指定使用何种编码格式来读取该文件,可指定属性值为“utf8”、“ascii”与“base64”。callback参数用于文件读取完毕时执行的回调函数。

function (err, data) {
//
回调函数代码略
}

Node中采用错误优先的方式

在回调函数中使用两个参数,其中第一个参数值为读取文件操作失败时触发的错误对象,第二个参数值为读取到的文件内容。当在options参数值对象中使用encoding属性指定编码格式时,该参数值为将文件内容根据指定编码格式经过编码后的字符串,当不指定options参数或在options参数值对象中不使用encoding属性时,该参数值为一个存放了文件中原始二进制内容的缓存区对象、

使用同步方式读取文件readFileSync(fileName,[option]);

var data=fs.readFileSync(filename, [options])

使用异步方式写入文件writeFile(filename,data,[options],callback);

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

使用同步方式写入文件writeFileSync(filename,data,[options])

fs.writeFileSync(filename,data,[options]

使用异步方法追加内容到文件底部appendFile(filename,data,[options],callback)

fs.appendFile(filename,data,[options],callback)

使用同步方法追加内容到文件底部appendFileSync(filename,data,[options],callback)

fs.appendFileSync(filename,data,[options])

从指定位置处开始读写文件

如何实现从指定位置处开始读写文件的处理。要实现这一处理,我们首先需要使用fs模块中的open方法或openSync方法打开文件。

异步打开文件open(filename, flags,[mode],callback)

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

callback参数用于指定文件打开操作执行完毕时执行的回调函数

function (err, fd) {
//
回调函数代码略
}

回调函数使用两个参数,其中第一个参数值为打开文件操作失败时所触发的错误对象,第二个参数值为一个整数值,代表打开文件时返回的文件描述符(在Windows操作系统中,文件描述符亦称文件句柄)。

同步打开文件openSync(filename, flags,[mode])

var fd=fs.openSync(filename, flags,[mode])

从文件的指定位置处读取文件read(fd, buffer, offset, length, position, callback)

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

从文件的指定位置处同步读取文件readSync(fd, buffer, offset, length, position)

参数与异步读取一致

从文件的指定处开始写入这些数据write(fd, buffer, offset, length, position, callback)

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

callback函数使用三个参数,其中err参数值为写入文件操作失败时所触发的错误对象;written参数值为一个整数值,代表被写入的字节数;buffer参数值为一个Buffer对象,代表被读取的缓存区对象。

从文件的指定处开始写入这些数据writeSync(fd, buffer, offset, length, position )

参数与异步读取一致

关闭文件close(fd,[callback])

fs.close(fd,[callback])

同步关闭文件closeSync(fd)

fs.closeSync(fd)

将内存缓冲区中的剩余数据全部写入文件fsync(fd,[callback])

fs.fsync(fd,[callback])

将内存缓冲区中的剩余数据同步全部写入文件fsync(fd,[callback])

fs.fsyncSync(fd)
上一篇 下一篇

猜你喜欢

热点阅读