文件读取也分为:

  • 同步文件读取
  1. fs.readSync(fd, buffer, offset, length, position)
  • 异步文件读取
  1. fs.read(fd, buffer, offset, length, positon,callback)
  • 简单文件读取
  1. fs.readFile(file[, options], callback)
  2. fs.readFileSync(file[,options])
  • 流式文件读取
  1. vas rs = fs.createReadStream(file)

例子

简单文件读取
  1. var fs = require('fs');
  2. fs.readFile('an.jpg', function (err, data) {
  3. if(!err) {
  4. // 将data保存
  5. fs.writeFile("test.jpg", data, function (err) {
  6. if(!err) {
  7. console.log('复制文件成功');
  8. }
  9. })
  10. }
  11. })

可读取流:方式一
  1. var fs = require('fs');
  2. // 创建一个读取流
  3. var rs = fs.createReadStream("a.mp3");
  4. // 创建一个写入流
  5. var ws = fs.createWriteStream("write.mp3");
  6. // 如果要读取一个读取流中的数据,必须要为可读流绑定一个data事件
  7. // data事件绑定完毕,会自动读取数据
  8. rs.on("data", function (data) {
  9. // 将读取到的数据写入
  10. ws.write(data);
  11. });
  12. // 监听流的开启和关闭
  13. rs.on("open", function () {
  14. console.log("可读流打开了...");
  15. });
  16. rs.on("close", function () {
  17. console.log('可读流关闭了...');
  18. });
  19. ws.on("open", function () {
  20. console.log('写入流打开了...');
  21. });
  22. ws.on("close", function () {
  23. console.log('写入流关闭了...');
  24. });

可读取流:方式二
  1. var fs = require('fs');
  2. var rs = fs.createReadStream('a.mp3');
  3. var ws = fs.createWriteStream('write.mp3');
  4. // pipe()可以将可读流的内容,直接输出到可写流中
  5. rs.pipe(ws);