文件所有者与所属用户组
每个文件都有一个作为其所有者的用户。一个文件也属于一组用户,以更好地管理和保护文件。
// owner.cpp
#include <QTextStream>
#include <QFileInfo>
int main(int argc, char *argv[]) {
QTextStream out(stdout);
if (argc != 2) {
qWarning("Usage: owner file");
return 1;
}
QString filename = argv[1];
// 创建QFileInfo类实例
QFileInfo fileinfo(filename);
// 获取文件所属用户组
QString group = fileinfo.group();
// 获取文件所有者
QString owner = fileinfo.owner();
out << "Group: " << group << endl;
out << "Owner: " << owner << endl;
}
该示例打印给定文件的所有者和主要组。
输出结果为:
$ touch myfile
$ ./owner myfile
Group: zhangsl
Owner: zhangsl
最后一次读和修改文件
文件存储有关上次读取或修改的信息。为了获得这些信息,我们使用QFileInfo
类。
// file_times.cpp
#include <QTextStream>
#include <QFileInfo>
#include <QDateTime>
int main(int argc, char *argv[]) {
QTextStream out(stdout);
if (argc != 2) {
qWarning("Usage: file_times file");
return 1;
}
QString filename = argv[1];
// 创建一个QFileInfo对象
QFileInfo fileinfo(filename);
// lastRead()方法返回文件最后一次被读的日期和时间
QDateTime last_rea = fileinfo.lastRead();
// lastModified()返回文件最后一次被修改的日期和时间
QDateTime last_mod = fileinfo.lastModified();
out << "Last read: " << last_rea.toString() << endl;
out << "Last modified: " << last_mod.toString() << endl;
}
该示例打印给定文件的最后读取和最后修改时间。
输出结果为:
$ ./file_times Makefile
Last read: 周二 2月 27 18:44:15 2018
Last modified: 周二 2月 27 18:44:11 2018