試してみると、たいしたことなかったが、一応書いておく。
Bufferを用意して、write*()やread*()でアクセスするだけだ。

まずは、バイナリファイルを書き込むコードだ。

import * as fs from "fs";

let buf = Buffer.alloc(256);

for(let i = 0; i < buf.length; i++) {
    buf.writeUInt8(i, i);
}

console.log("Write Binary");
fs.writeFileSync("test.bin", buf);

このバイナリファイルをバイナリエディタで見てみるとこんな感じになってる。

001

つぎにこのファイルを読んでみる。

import * as fs from "fs";

console.log("Read Binary");
let buf2 = fs.readFileSync("test.bin");
if(buf2) {
    console.log("Data check");
    if(buf2.length != 256) {
        console.log("Size error");
        process.abort();
    }
    for(let i = 0; i < buf2.length; i++) {
        if(buf2.readUInt8(i) !== i) {
            console.log("Ignore offset:" + i);
            process.abort();
        }
    }
} else {
    console.log("Read ERROR");
}