【发布时间】:2020-03-14 16:09:30
【问题描述】:
我对 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?'
有人能指出我正确的方向吗? 谢谢。
【问题讨论】:
-
注意
GLib.FileInfo?中的?,这意味着该值可能是null。如果是null,则get_modification_date_time不存在,因为它很好null,您需要使用if (info != null)之类的东西证明该值不为空
标签: vala