質問

I'm trying to get fs.read() to work but running into some issue(s). Here is my fread.js script:

var fs = require('fs');

fs.open('test.txt', 'r', function (err, handle) {

    var f = handle;
    var b = new Buffer(100000);

    fs.read(f, b, 0, 100000, null, function (err, bytesRead) {
        console.log(b.toSting("utf8", 0, bytesRead));
        fs.close(f);
    });

});

Why do I get the following TypeError: Bad Argument error upon running it?

$ node fread.js 

fs.js:457
  binding.read(fd, buffer, offset, length, position, wrapper);
          ^
TypeError: Bad argument
    at Object.fs.read (fs.js:457:11)
    at /home/max/dev/livelessons/fread.js:8:5
    at Object.oncomplete (fs.js:107:15)
役に立ちましたか?

解決

The problem was that I gave it the wrong file name. test.txt should have been text.txt. Doh!

他のヒント

You should check that fs.open() was successful first. Most likely err is set and handle is set to undefined, causing the "Bad Argument" error.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top