Question

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)
Was it helpful?

Solution

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

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top