How to read a local file by chunks in JavaScript?

前端 未结 1 926
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-17 01:45

Say, I have a file that is 500 bytes in size on my local hard drive and I want to read first 100 bytes from it without loading the whole file into memory. How to accomplish

1条回答
  •  傲寒
    傲寒 (楼主)
    2021-01-17 02:35

    Assuming that you want to read ASCII text data (no character set conversion):

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

    Further information: https://developer.mozilla.org/en/Code_snippets/File_I%2F%2FO

    0 讨论(0)
提交回复
热议问题