2015-11-05 2 views
1

После запуска следующего кода дескриптор файла по-прежнему открыт в Windows, как его закрыть?nodejs не закрывает дескриптор файла на окнах?

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

Вы должны закрыть inp тоже не просто out. Вы можете сделать это, позвонив по телефону inp.close(); в тот же самый номер, который вы уже звонили out.close();.

Кроме того, вы можете просто переместить файл с

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

вместо перезаписи файла.

+0

О, да, fs.rename лучше. – papapasan

Смежные вопросы