node.js中的fs.createReadStream方法使用说明
方法说明:返回一个readStream(文件读取流,输入流)对象。(可读流)语法:fs.createReadStream(path, [options])由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) )接收参数:path: (string) 欲读取的文件路径options : (object) 数组对象包含以下属性{ flags: ‘r’,encodi
方法说明:
返回一个readStream(文件读取流,输入流)对象。(可读流)
语法:
fs.createReadStream(path, [options])
由于该方法属于fs模块,使用前需要引入fs模块(var fs= require(“fs”) )
接收参数:
path: (string) 欲读取的文件路径
options : (object) 数组对象包含以下属性
{ flags: ‘r’,
encoding: null,
fd: null,
mode: 0666,
autoClose: true
}
options 可以通过start 和 end 设置 文件 可读取的字节数范围,而不是读取整个文件。
如果start 和 end都被包含的情况下 ,将从0开始。
encodeing 可以是 ‘utf8′, ‘ascii’, 或 ‘base64′三种格式。
如果autoClose为false时,文件描述符将不会被关闭,即使他们报错了。
最好把它关闭掉 并确保不会出现文件描述符泄漏。
如果autoClose为true时(默认的行为),对错误或结束的文件描述符将自动关闭。
例子:
const readFile = (file, start, end) => {
return new Promise((resolve, reject) => {
let readStream = fs.createReadStream(file, { start : start, end: start+end })
readStream.on(“error”, () => {console.log("Error occured on " + file)})
readStream.on(‘data’,function(chrunk){//将数据分为一块一块的传递
console.log(start)
console.log(start)
console.log(chrunk.byteLength)
console.log(chrunk);
console.log(chrunk.toString());
data += chrunk;
resolve(chrunk)
});
readStream.on(‘end’,function(){
console.log(data);
console.log(data.toString());
console.log(‘finished!!!’);
})
})
}
//注意 处理数据应该在end 中
readFile(‘index.js’,0, 100000)
更多推荐
所有评论(0)