使用文件系统api检索所有目录

Retrieve all directories with file system api

本文关键字:检索 文件系统 api      更新时间:2023-09-26

有没有一种方法可以用文件系统api计算文件夹中的所有目录,而不会陷入无限循环!?

我不知道为什么会泄漏,也不知道泄漏在哪里,但在泄漏到5万之后,我最终不得不退出我的应用程序——它看起来从未达到终点。我在OS X上,所以它是在计算所有隐藏的目录和文件(如DS Store(吗?

//path: my folder
app.workspace.getDirectory(path, {}, function(directory){
    var reader = directory.createReader();
    if(directory){
        reader.readEntries(function(entries){
            for(var i = 0; entries.length; i++) {
                if(entries.isDirectory){
                    console.log('Directory: ', entries[i]);
                }
                else {
                    //don't need to know anything else...
                }
            }
        });
    }
}, error);

您的for循环在迭代时从不检查ientries.length

修改for(var i = 0; entries.length; i++)
for(var i = 0; i < entries.length; i++)

此外,我假设if(entries.isDirectory)
应为CCD_ 6。

您可以尝试可以递归读取目录的bro-fs:

fs.readdir('dir', {deep: true})
  .then(tree => console.log(tree))