繁体   English   中英

Firefox插件。 如何确定数组的元素是文件还是目录?

[英]Firefox Addon. How to determine is the element of the array a file or a directory?

我正在尝试获取Firefox加载项中的文件和目录的列表。

var io_file = require("sdk/io/file");
var HomePath = require('sdk/system').pathFor("Home");

var list_files = io_file.list(HomePath);

如何确定数组的元素是文件还是目录?

执行console.log('debug:', list_files) ,然后按Ctrl + Shift + J,然后单击list_files旁边的链接,然后在可变查看器中打开它,您可以在其中浏览它。

像这样,请注意“浏览器控制台”框并查看下面的“属性”部分,当我单击上面的日志中看到的“ [object MouseEvent]”时,就会出现该错误。 http://img.photobucket.com/albums/v135/noitidart/my20code20works_zpsdd244f45.png

const fileIO = require("sdk/io/file");

let path = "/Users/Work/";
let list = fileIO.list(path);

for (i = 0; i < list.length; i++) {
  let item = fileIO.join(path, list[i]);
  if (fileIO.isFile(item)) {
    console.log(item + " is a file");
  }
  else {
    console.log(item + " is a directory");
  }
}

要么

    const {Cu} = require("chrome");
    const {TextEncoder, OS} = Cu.import("resource://gre/modules/osfile.jsm", {});

    var iterator = new OS.File.DirectoryIterator('/home/user');
    var promise = iterator.forEach(
        function onEntry(entry) {
            if (entry.isDir) { // is Directory
                console.log(JSON.stringify(entry));
            } else { // is File
                console.log(JSON.stringify(entry));
            }
        }
    );
    promise.then(
        function onSuccess() {
            iterator.close();
            return subdirs;
        },
        function onFailure(reason) {
            iterator.close();
            throw reason;
        }
    );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM