我一般对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?'
有人能指出我正确的方向吗?谢谢。
错误是说该方法不存在。查看Valadoc.org中的get_modification_date_time
,它表明这是在GLib版本2.62中引入的。get_modification_date_time
2019年9月5日。您的发行版可能还不包括该版本。
您可以尝试更新GLib的版本,也可以使用现在不推荐使用的version was released:
get_modification_time