繁体   English   中英

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

[英]How to read a local file by chunks in JavaScript?

假设我的本地硬盘驱动器上有一个大小为 500 字节的文件,我想从中读取前 100 个字节,而不将整个文件加载到 memory 中。 如何在UniversalXPConnect的帮助下在 JavaScript 中实现这一点? 当然,仅在 Firefox 中。

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

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();

更多信息: https://developer.mozilla.org/en/Code_snippets/File_I%2F%2FO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM