我有这段 javascript 代码
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath( this.savefile );
if ( file.exists() == false ) {
return null;
}
var is = Components.classes["@mozilla.org/network/file-input-stream;1"]
.createInstance( Components.interfaces.nsIFileInputStream );
is.init( file,0x01, 00004, null);
var sis = Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance( Components.interfaces.nsIScriptableInputStream );
sis.init( is );
output = sis.read( sis.available() );
sis.close();
is.close();
this.filterData = output;
return output;
实际上我正在阅读的文件是一个二进制文件,可以说是 350 字节。现在 19 字节是“零”,所以在上面的代码中我只得到了 18 个字节的输出。
当我尝试调试sis.available时确实返回 350。但是sis.read只能读取到零字节。
我想要在输出中读取整个 350 字节的方式。