console.log(err);//null
console.log(len);//3
console.log(buffer);//<Buffer 61 61 61 00 00>
})
}
});
fs.readSync(fd, buffer, offset, length, position)
fs.read() 的同步版本,返回 bytesRead 的数量
var fs = require('fs');var fd = fs.openSync('1.txt','r');
var bf = Buffer.alloc(5);
var result = fs.readSync(fd,bf,0,3,null);
console.log(result);//3
3、写入文件 fs.write(fd, buffer, offset, length[, position], callback)
参数如下
[注意]多次对同一文件使用fs.write且不等待回调,是不安全的。对于这种情况,强烈推荐使用 fs.createWriteStreamfd <Integer> 文件标识
buffer <String> | <Buffer> 要将buffer中的数据写入到文件中
offset <Integer> buffer对象中要写入的数据的起始位置
length <Integer> length是一个整数,指定要写入的字节数
position <Integer> 指定从文件开始写入数据的位置的偏移量。 如果 typeof position !== ‘number’,则数据从当前位置写入
callback <Function> 回调有三个参数(err, written, buffer),其中written指定从buffer写入了多少字节
当我们要对打开的文件进行写操作的时候,打开文件的模式应该是读写模式
var fs = require('fs');
fs.open('1.txt','r+',function(err,fd){
if(err){
console.log('文件打开失败');
}else{
var bf = Buffer.from('test');
fs.write(fd,bf,0,3,null,function(err,len,buffer){
console.log(err);//null
console.log(len);//3
console.log(buffer);//<Buffer 74 65 73 74>
})
}
});fs.write(fd, data[, position[, encoding]], callback)
该方法写入data到fd指定的文件。如果data不是一个Buffer实例,则该值将被强制转换为一个字符串
不同于写入 buffer,该方法整个字符串必须被写入。不能指定子字符串,这是因为结果数据的字节偏移量可能与字符串的偏移量不同
fd <Integer> 文件标识
data <String> | <Buffer> 要将string或buffer中的数据写入到文件中
position <Integer> 指向从文件开始写入数据的位置的偏移量。 如果 typeof position !== ‘number’,则数据从当前位置写入
encoding <String> 期望的字符串编码
callback <Function> 回调有三个参数(err, written, str),其中written指定从str写入了多少字节
var fs = require('fs');
fs.open('1.txt','r+',function(err,fd){
if(err){
console.log('文件打开失败');
}else{
fs.write(fd,'12345',function(err,len,str){









