سؤال

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