0
我需要讀取節點中的文件,但是,例如,如果文件的大小是4KB,我需要讀取第一個1K並在控制檯上打印它,然後,文件的第二個Kb ...並繼續到最後。問題在於我不知道如何在第一個Kb之後「停止」閱讀,然後在那裏繼續閱讀。如何用節點讀取塊中的文件?
任何幫助?
Thanks¡¡
我需要讀取節點中的文件,但是,例如,如果文件的大小是4KB,我需要讀取第一個1K並在控制檯上打印它,然後,文件的第二個Kb ...並繼續到最後。問題在於我不知道如何在第一個Kb之後「停止」閱讀,然後在那裏繼續閱讀。如何用節點讀取塊中的文件?
任何幫助?
Thanks¡¡
您可以使用fs.read
要讀取的字節和async
循環固定數量。
未經測試的代碼:
var buf = new Buffer();
var length=4096; // you can get this with fs.stat
var position=0;
fs.open('/tmp/file', 'r', function(err, fd) {
if(err) throw err;
async.whilst(
function() { position < length; },
function(callback) {
fs.read(fd, buf, null, 1024, position, function(err, bytesRead, buf) {
if(err) callback(err);
if(bytesRead!=1024) throw new Error('bytes read not 1024');
console.log(buf.toString());
position+=bytesRead;
callback();
});
},
function(err) {
if(err) throw err;
}
);
});
你必須讓你到目前爲止做了什麼。 – majidarif 2014-11-02 18:37:44