Vala获取文件修改日期

问题描述 投票:2回答:1

我一般对Vala和Linux编程不熟悉。

我正在尝试枚举给定文件夹的类似于'stat'shell实用程序的数据。到目前为止,这是我得到的:

int main (string[] args) {
    try {
        File directory = File.new_for_path (".");

        if (args.length > 1) {
            directory = File.new_for_commandline_arg (args[1]);
        }

        FileEnumerator enumerator = directory.enumerate_children (FileAttribute.TIME_MODIFIED, 0);

        FileInfo file_info;


        while ((file_info = enumerator.next_file ()) != null) {

          DateTime t = file_info.get_modification_date_time();

        }

    } catch (Error e) {
        stderr.printf ("Error: %s\n", e.message);
        return 1;
    }

    return 0;
}

控制台输出:

vala --pkg gio-2.0 --pkg glib-2.0 main3.vala 
main3.vala:16.24-16.59: error: The name `get_modification_date_time' does not exist in the context of `GLib.FileInfo?'

有人能指出我正确的方向吗?谢谢。

vala
1个回答
1
投票

错误是说该方法不存在。查看Valadoc.org中的get_modification_date_time,它表明这是在GLib版本2.62中引入的。get_modification_date_time2019年9月5日。您的发行版可能还不包括该版本。

您可以尝试更新GLib的版本,也可以使用现在不推荐使用的version was released

get_modification_time
© www.soinside.com 2019 - 2024. All rights reserved.