【问题标题】:vala FileInfo get_file_type is UNKNOWNvala FileInfo get_file_type 未知
【发布时间】:2010-12-18 15:38:31
【问题描述】:

我一直在尝试制作一个遍历目录并列出目录中的所有文件和任何子目录的函数:

void get_listing (string dir) {
    try {
        var directory = File.new_for_path (dir);

        var enumerator = directory.enumerate_children (FILE_ATTRIBUTE_STANDARD_NAME, 0);

        FileInfo file_info;
        while ((file_info = enumerator.next_file ()) != null) {
            stdout.printf(file_info.get_file_type().to_string());
            if (file_info.get_file_type() == FileType.DIRECTORY) {
                get_listing(file_info.get_name());
            } else {
                stdout.printf ("%s\n", file_info.get_name ());
            }
        }

    } catch (Error e) {
        stderr.printf ("Error: %s\n", e.message);
        return;
    }
}
int main (string[] args) {
    get_listing(".");

    return 0;
}

当我运行此代码时,不会输出任何子目录中的文件。所有文件/目录类型都是“G_FILE_TYPE_UNKNOWN”。有谁知道如何解决这个问题或我可以使用的其他方法。

【问题讨论】:

    标签: glib vala gio


    【解决方案1】:

    您仅按名称枚举文件;如果您希望稍后访问文件类型,则应将适当的提示传递给枚举器:

    FILE_ATTRIBUTE_STANDARD_NAME + "," + FILE_ATTRIBUTE_STANDARD_TYPE
    

    【讨论】:

      猜你喜欢
      • 2020-12-26
      • 1970-01-01
      • 1970-01-01
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多