这就是我调用fs.read的方式,但我不断收到错误。我的语法在这里有什么问题吗?
命令行上的错误是:“errorCode”: - 1,
var fs = IMPORTS.require('fs'),
sys = IMPORTS.require("sys")
var file= this.filename,
start= parseInt(offsetStart),
end= parseInt(offsetEnd);
bufSize = 64 * 1024;
fs.open(file,'r',0666,function(err,fd) {
fs.read(fd,bufSize,0,end,start,function(err,str,count) {
result = { reply:str,
reply2:count
};}); });
答案 0 :(得分:6)
如果你解释一下你在这做什么,这可能会有所帮助。你为什么打开一个文件,你想从中读取什么?
如果是文本文件,使用类似这样的ReadStream可能更简单:
inp = fs.createReadStream('sample.txt');
inp.setEncoding('utf8');
inptext = '';
inp.on('data', function (data) {
inptext += data;
});
inp.on('end', function (close) {
console.log(inptext);
});
您可能希望查看代码并自问回复语句中的数据。如果你真的想要使用一个回调链,你可以尝试传入一个空对象,然后用数据填充它,这样你就不必担心将数据发送回回调链。
答案 1 :(得分:1)
如果你期望高达100k并且缓冲区是64k,并且图像被偏移,那么它是否可以获得从7k开始的第一个57K?
如果bufSize为256 * 1024会怎样?
可以显示或转储offsetStart和offsetEnd的值吗?他们似乎值得了解。
另外,第二个值实际上是偏移量,还是长度?