文件读取也分为:
- 同步文件读取
fs.readSync(fd, buffer, offset, length, position)
- 异步文件读取
fs.read(fd, buffer, offset, length, positon,callback)
- 简单文件读取
fs.readFile(file[, options], callback)
fs.readFileSync(file[,options])
- 流式文件读取
vas rs = fs.createReadStream(file)
例子
简单文件读取
var fs = require('fs');
fs.readFile('an.jpg', function (err, data) {
if(!err) {
// 将data保存
fs.writeFile("test.jpg", data, function (err) {
if(!err) {
console.log('复制文件成功');
}
})
}
})
可读取流:方式一
var fs = require('fs');
// 创建一个读取流
var rs = fs.createReadStream("a.mp3");
// 创建一个写入流
var ws = fs.createWriteStream("write.mp3");
// 如果要读取一个读取流中的数据,必须要为可读流绑定一个data事件
// data事件绑定完毕,会自动读取数据
rs.on("data", function (data) {
// 将读取到的数据写入
ws.write(data);
});
// 监听流的开启和关闭
rs.on("open", function () {
console.log("可读流打开了...");
});
rs.on("close", function () {
console.log('可读流关闭了...');
});
ws.on("open", function () {
console.log('写入流打开了...');
});
ws.on("close", function () {
console.log('写入流关闭了...');
});
可读取流:方式二
var fs = require('fs');
var rs = fs.createReadStream('a.mp3');
var ws = fs.createWriteStream('write.mp3');
// pipe()可以将可读流的内容,直接输出到可写流中
rs.pipe(ws);