2013-04-04 2 views
3

Мне нужно прочитать двоичный файл byte by byte с помощью javascript.I получил код ниже на этом сайте, но его не работает. Думаю, мне нужно добавить дополнительный файл src в качестве ссылки на него. Пожалуйста, помогите мне сделать it.here код ...Как читать двоичный файл байта байтом с помощью javascript?

var fs = require('fs'); 
var Buffer = require('buffer').Buffer; 
var constants = require('constants'); 

fs.open("file.txt", 'r', function(status, fd) { 
    if (status) { 
     console.log(status.message); 
     return; 
    } 
    var buffer = new Buffer(100); 
    fs.read(fd, buffer, 0, 100, 0, function(err, num) { 
     console.log(buffer.toString('utf-8', 0, num)); 
    }); 
}); 
+0

Нужно ли * читать * байты байтом или вам нужно * обрабатывать его содержимое * byte by byte? – robertklep

+1

Вам понадобится Node.js для этого, не так ли? –

ответ

3

Вы можете прочитать файл синхронно, побайтно:

fs.open('file.txt', 'r', function(err, fd) { 
    if (err) 
    throw err; 
    var buffer = new Buffer(1); 
    while (true) 
    { 
    var num = fs.readSync(fd, buffer, 0, 1, null); 
    if (num === 0) 
     break; 
    console.log('byte read', buffer[0]); 
    } 
}); 
+0

Спасибо за вашу помощь robertklep ... –

1

Вы можете использовать следующий код:

var blob = file.slice(startingByte, endindByte); 
reader.readAsBinaryString(blob); 

Вот как это работает:

  • file.slice будет разрезать файл в байты и сохранить в переменной как двоичный файл. Вы можете нарезать, задав начальный байт и конечный байт.

  • reader.readAsBinaryString напечатает этот байт как двоичный файл. Неважно, насколько велик файл.

Для получения дополнительной информации см. this link.

Смежные вопросы