一、同步文件读取
fs.readSync(fd, buffer, offset, length, position)
- fd:文件描述符
- buffer:读取文件的缓冲区
- offset:buffer 的开始写入的位置
- length:要读取的字节数
- position:开始读取文件的位置
二、异步文件读取
fs.read(fd, buffer, offset, length, position, callback)
- callback:回调函数,参数 err , bytesRead , buffer
其他参数,和同步文件读取相同,可参照上面。
三、简单文件读取
异步:fs.readFile(path[,option],callback)
同步:fs.readFileSync(path[,options])
- path:要读取的文件的路径
- options:读取的选项
- callback:回调函数,通过回调函数将读取到的内容进行返回 (err,data)
err 错误对象
data 读取到的数据,会返回一个Buffer
四、流式文件读取
流式文件读取也适用于一些比较大的文件,可以分多次将文件读取到内存中。
- 从一个文件中读取大量的数据时,最好的方法之一就是流式读取,这样将把一个文件作为 Readable 流的形式打开。
- 要从异步从文件传输数据,首先需要通过以下语法创建 一个 Readable 流对象:
fs.createReadStream(path[, options])
// path 文件路径
// options {encoding:"",mode:"",flag:""} // 一般不写
- 当你打开 Readable 文件流以后,可以通过 readable 事件和 read() 请求,或通过 data 事件处理程序轻松地从它读出。