关于node.js文件操作报错

代码如下:

var fs = require('fs');
var buf = new Buffer.alloc(1024*1);
fs.open('E:/for_file/6.txt','r',function (e,fd) {
    if (e) {
        return console.error(e);
    }

    fs.ftruncate(fd,5, function (err) {
        if (err) {
            return console.error(err);
        }
        fs.read(fd, buf, 0, buf.length, 0, function (e, num) {
            if (e) {
                return console.error(e);
            }
            if (num > 0) {
                console.log('hello');
                console.log(buf.toString());
            }
            fs.close(fd, function (e) {
                if (e) {
                    return console.error(e);
                }
            })
        });
    });
});

{ Error: EPERM: operation not permitted, ftruncate errno: -4048, code: 'EPERM', syscall: 'ftruncate' }

经过查询可知,是由于打开文件的权限不够fs.ftruncate的操作,即权限的问题,将‘r’改成‘r+’读写操作即可

猜你喜欢

转载自blog.csdn.net/xxtnt/article/details/83244887