nodejs createReadStream 空文件

Ron*_*gar 5 fs node.js

我尝试了这个简单的代码

var fs = require('fs');
var stream = fs.createReadStream(fileName);
stream.on('readable', function () {
   console.log("readable event called");
} );
Run Code Online (Sandbox Code Playgroud)

我注意到,如果文件是空的,则不会调用该事件。有没有优雅的方法来检查文件是否为空?

小智 2

您可以使用streamName.on('end', () => {})

let readStream = fs.createReadStream(path/to/file);
let emptyFile = true;

readStream.once('data', chunk => {
  emptyFile = false;
});

readStream.on('end', () => {
  console.log('Stream ended');
  if (emptyFile) {
    console.log('Empty file');
  }
});
Run Code Online (Sandbox Code Playgroud)