多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
#### # 一个文件的操作过程: 1. open 2. read / write 3. close ~~~ fs.open(path, flags[, mode], callback) ~~~ **path** - 文件的路径 **flags** - 文件打开的行为,具体值详见下文 **mode** - 设置文件模式(权限),文件创建默认权限为 0666(可读,可写)。 **callback** - 回调函数,带有两个参数如:callback(err, fd)。 ![](https://box.kancloud.cn/e322011ef92259f93aec2fbfa5af58ef_728x494.png) ~~~ fs.open('input.txt', 'r+', function(err, fd) { if (err) { return console.error(err); } console.log("文件打开成功!"); }); ~~~ * * * * * ~~~ fs.read(fd, buffer, offset, length, position, callback) ~~~ **fd** - 通过 fs.open() 方法返回的文件描述符。 **buffer** - 数据写入的缓冲区。 **offset** - 缓冲区写入的写入偏移量。 **length** - 要从文件中读取的字节数。 **position** - 文件读取的起始位置,如果 position 的值为 null,则会从当前文件指针的位置读取。 **callback** - 回调函数,有三个参数err, bytesRead, buffer,err 为错误信息, bytesRead 表示读取的字节数,buffer 为缓冲区对象。 ~~~ fs.read(fd, buf, 0, buf.length, 0, function(err, bytes){ if (err){ console.log(err); } console.log(bytes + " 字节被读取"); // 仅输出读取的字节 if(bytes > 0){ console.log(buf.slice(0, bytes).toString()); } }); ~~~ * * * * * ~~~ fs.write(fd, data[, position[, encoding]], callback) ~~~ **fd** - 通过 fs.open() 方法返回的文件描述符。 **data** - 要写入的数据 **callback** - 回调函数有三个参数(err,written,buffer),written指定buffer的多少字节用来写 ~~~ fs.write(fd, data, function(err, written,buffer){ if (err){ console.log(err); } console.log(written + " 字节被写入"); }); ~~~ * * * * * ~~~ fs.close(fd, callback) ~~~ **fd** - 通过 fs.open() 方法返回的文件描述符。 **callback** - 回调函数,没有参数。 ~~~ fs.close(fd, function(err){ if (err){ console.log(err); } console.log("文件关闭成功"); }); ~~~