Node.js 使用node js递归地查看文件和文件夹(每次更改时也会获取信息)
每当文件和文件夹在特定目录中发生更改时,我都要监视它们。fs.watch做得很好,但没有提供足够的关于更改了哪个文件或文件夹的信息。在观看文件时,我必须使用什么来获取详细信息。我想您通常会这样做。它起作用了。只有在Windows和MacOS上,Node.js 使用node js递归地查看文件和文件夹(每次更改时也会获取信息),node.js,file,fs,watch,Node.js,File,Fs,Watch,每当文件和文件夹在特定目录中发生更改时,我都要监视它们。fs.watch做得很好,但没有提供足够的关于更改了哪个文件或文件夹的信息。在观看文件时,我必须使用什么来获取详细信息。我想您通常会这样做。它起作用了。只有在Windows和MacOS上,{recursive:true}选项才起作用。在其他操作系统上(如果您正在编写可移植代码,那么在所有操作系统上),您也必须查看所有您想要的子目录 如你所知,它是这样工作的。一旦知道文件名,您就可以从中了解有关该文件的更多信息。(此示例代码未调试) fs.w
{recursive:true}
选项才起作用。在其他操作系统上(如果您正在编写可移植代码,那么在所有操作系统上),您也必须查看所有您想要的子目录
如你所知,它是这样工作的。一旦知道文件名,您就可以从中了解有关该文件的更多信息。(此示例代码未调试)
fs.watch('whatever/directory/name',{},(eventType,filename)=>{
如果(eventType==='change'){
fs.stat(文件名,函数(err,stat){
如果(错误)返回控制台。错误(错误)
const modTime=stat.mtimeMs
常量大小=stat.size
如果(stat.isFile()){
/*这是一个普通文件*/
}
} )
});
如果
fs.stat()
没有为您提供足够的信息,您可能需要阅读文件本身来解决问题。非常感谢。我不知道{recursive:true}
选项。fs.stat非常棒。