QFile类用于文件 *** 作,它提供了读写文件的接口,可以读写文件、二进制文件和Qt资源文件。
处理文本文件和二进制文件,可以使用QTextStream类和QDataStream类。处理临时文件可以使用QTemporaryFile,获取信息可以使用QFileInfo,处理目录可以使用QDir,监视文件和目录变化可以使用QFileSystemWatcher。
QFile类示例
#include#include #include int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); //文件读取 QFile file("hello.txt"); if(file.open(QIODevice::ReadOnly)) { char buffer[100]; qint32 n = file.readLine(buffer,sizeof(buffer)); if(n != -1) { qDebug()< *** 作二进制文件
#include#include #include #include #include int main(int argc, char *argv[]) { //往文件中写入数据 QCoreApplication a(argc, argv); QFile binFile("info.bat"); if(binFile.open(QIODevice::Writeonly | QIODevice::Truncate)) { QDataStream out(&binFile); out< >Name>>NowTime>>Age; qDebug()< 示例:获取文件信息
void FileInfo::getFileInfo(QString &fileName) { //通过这个类来获取文件的信息 QFileInfo info(fileName); qint64 size = info.size();//获取文件大小 QDateTime createTime = info.created();//获取文件创建时间 QDateTime lastModTime = info.lastModified();//获取文件最后一次被的修改的时间 QDateTime lasReadTime = info.lastRead();//获取文件最后一次被读取的时间 //文件的属性信息 bool isDir = info.isDir();//是不是目录 bool isFile = info.isFile();//是不是文件 bool isSymlink = info.isSymlink();//是不是链接 bool isHid = info.isHidden();//是否隐藏 bool isReadable = info.isReadable();//是否可读 bool isWritable = info.isWritable();//是否可写 bool isExcutable = info.isExecutable();//是否可执行 //根据读取信息设置控件信息 ui->FileSizeLineEdit->setText(QString::number(size));//整型转字符串 ui->CreateTimeLineEdit->setText(createTime.toString());//QDate转字符串 ui->LastModTimeLineEdit->setText(lastModTime.toString()); ui->LastCheckTimeLineEdit->setText(lasReadTime.toString()); ui->isDirCheckBox->setChecked(isDir); ui->isFileCheckBox->setChecked(isFile); ui->isExecutableCheckBox->setChecked(isExcutable); ui->isSymlinkCheckBox->setChecked(isSymlink); ui->isHiddenCheckBox->setChecked(isHid); ui->isWritableCheckBox->setChecked(isWritable); ui->isReadableCheckBox->setChecked(isReadable); } void FileInfo::on_browerFileBtn_clicked() { //选择文件 QString fileName = QFileDialog::getOpenFileName(this,"打开文件",".","files(*)"); //选择目录QString path = QFileDialog::getExistingDirectory(this,"选择目录","."); ui->FileNameLineEdit->setText(fileName);//文件名(带路径的) getFileInfo(fileName); }欢迎分享,转载请注明来源:内存溢出
评论列表(0条)