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

时间:2016-10-12 14:27:38

标签: javascript html5-filesystem

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

无法弄清楚泄漏的原因或位置,但我最终不得不在达到50K后退出我的应用程序 - 它似乎永远不会达到终点。我在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);

2 个答案:

答案 0 :(得分:3)

你的for循环在迭代时永远不会ientries.length进行检查。

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

此外,我假设if(entries.isDirectory)
应该是if(entries[i].isDirectory)

答案 1 :(得分:0)

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

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