nodejs不关闭Windows上的文件句柄?

时间:2015-11-05 04:11:38

标签: node.js

运行以下代码后,Windows上仍然打开文件句柄,如何关闭它?

var Name="1.mp4";
var inp = fs.createReadStream("Temp/" + Name);
var out = fs.createWriteStream("Video/" + Name);
inp.pipe(out);
inp.on("end", function() {
  fs.unlink("Temp/" + Name, function (){
    out.close();
    console.log("unlink this file:",Name );
  });
});

screen shot: file handle not colsed on Windows

1 个答案:

答案 0 :(得分:1)

您还需要关闭inp,而不仅仅是out。您可以在已拨打inp.close();的同一时间拨打out.close();来执行此操作。

您也可以使用

移动文件
fs.rename("Temp/" + Name, "Video/" + Name, function() {
    console.log("Renamed:", Name)
});

而不是重写文件。