如何使用javascript逐字节读取二进制文件?

6 javascript node.js

我需要使用 javascript 逐字节读取二进制文件。我在此站点中得到了以下代码,但它不起作用。我想我必须添加一些额外的 src 文件作为对它的引用。请帮我做。这里的代码...

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));
    });
}); 
Run Code Online (Sandbox Code Playgroud)

rob*_*lep 8

您可以逐字节同步读取文件:

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

  • 最好使用`var buffer = Buffer.alloc(1);` (5认同)