如何在JavaScript中按块读取本地文件?

如何在JavaScript中按块读取本地文件?,javascript,firefox,file-io,firefox-addon,universalxpconnect,Javascript,Firefox,File Io,Firefox Addon,Universalxpconnect,比如说,我的本地硬盘上有一个500字节大小的文件,我想从中读取前100个字节,而不将整个文件加载到内存中。如何借助于UniversalXPConnect在JavaScript中实现这一点?当然,仅在Firefox中。假设您要读取ASCII文本数据(无字符集转换): 进一步信息:验证您是否知道这是不可能的,除非您正在编写Firefox扩展?@Brock Adams:UniversalXPConnect提供一个完全访问权限-与Firefox扩展相同。@Wladimir,UniversalXPConn

比如说,我的本地硬盘上有一个500字节大小的文件,我想从中读取前100个字节,而不将整个文件加载到内存中。如何借助于
UniversalXPConnect
在JavaScript中实现这一点?当然,仅在Firefox中。

假设您要读取ASCII文本数据(无字符集转换):


进一步信息:

验证您是否知道这是不可能的,除非您正在编写Firefox扩展?@Brock Adams:UniversalXPConnect提供一个完全访问权限-与Firefox扩展相同。@Wladimir,UniversalXPConnect仅在chrome JS中运行,并具有必要的权限。也就是说,它必须是一个附加组件或插件。IE,一个扩展。@Brock:或一个内部网网站,给定合适的浏览器配置-它需要调用
enablePrivilege()
var file = Components.classes["@mozilla.org/file/local;1"]
                     .createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("/foo/bar");
var fstream = Components.classes["@mozilla.org/network/file-input-stream;1"]
                        .createInstance(Components.interfaces.nsIFileInputStream);
fstream.init(file, -1, 0, 0);
var sstream = Components.classes["@mozilla.org/scriptableinputstream;1"]
                        .createInstance(Components.interfaces.nsIScriptableInputStream);
sstream.init(fstream);
var data = sstream.read(100);
sstream.close();