设为首页收藏本站 |天气与日历| 2025-04-20 星期日 07:43:00 乙巳(蛇)年 三月廿三 辰时 谷雨
     
切换到窄版

私人站点

 找回密码
 立即注册
搜索
查看: 162|回复: 0

QFile文件读写操作-QFileInfo文件信息类

[复制链接]

954

主题

954

帖子

3875

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3875
发表于 2022-2-9 21:34:55 | 显示全部楼层 |阅读模式
1 文件读写
1.1 读文件
1.1.1 QFile file(文件路径)
1.1.2 file.open 指定打开方式   QIODevice::ReadOnly
1.1.3 利用 file.readAll一次性全部读取
1.1.4 利用 file.readLine 按行读取
1.1.5 file.close 关闭文件对象
1.1.6 读取gbk格式
1.1.6.1 QTextCodec * codec = QTextCodec::codecForName("gbk");
1.1.6.2 codec->toUnicode(array)
1.2 写文件
1.2.1 QFile file(路径)
1.2.2  file.open(QIODevice::Append); //QIODevice::Append追加的方式写文件
1.2.3  file.write("啊啊啊啊!");
1.2.4  file.close();
2 文件信息类
2.1 QFileInfo info(路径)
2.2 info获取文件信息
2.3 后缀名: suffix    文件大小  size   文件名 filename  文件路径 filePath
2.4 创建日期  created   修改日期 lastModify   
2.5 QDateTime  需要用 toString转为自己制定的输出格式


[C++] 纯文本查看 复制代码
    //点击按钮 弹出文件对话框,选择文件
    connect(ui->pushButton,&QPushButton::clicked,[=](){

         QString filePath = QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\zhangtao\\Desktop");
         qDebug() << filePath;

         if(filePath.isEmpty())
         {
             QMessageBox::warning(this,"警告","文件路径不能为空");
             return;
         }
         else
         {
             //将文件路径放入到 lineEdit中
             ui->lineEdit->setText(filePath);


             //读文件
             //文本编码格式类
             QTextCodec * codec = QTextCodec::codecForName("gbk");

             //将文件内容 读取到 textEdit中
             QFile file(filePath);

             //指定打开方式
             file.open(QIODevice::ReadOnly);

             //Qt默认支持的格式是utf-8
             QByteArray array;
//             array = file.readAll();



             while (!file.atEnd()) {
                  array += file.readLine();
             }


             ui->textEdit->setText(array);
             //ui->textEdit->setText( codec->toUnicode(array)  );

             file.close();



             //写文件
//             file.open(QIODevice::Append); //QIODevice::Append追加的方式写文件
//             file.write("啊啊啊啊!");
//             file.close();



             //读取文件信息
             QFileInfo  info(filePath);

             qDebug() << "文件后缀名:" <<info.suffix() << "文件大小:" <<info.size() <<
                         "文件名:"<< info.fileName() << "文件路径:"<<info.filePath();

             qDebug() << "创建日期:" << info.created().toString("yyyy-MM-dd hh:mm:ss")<<
                         "最后修改日期:"<<info.lastModified().toString("yyyy/MM/dd hh:mm:ss");
         }

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|编程站点 ( 冀ICP备2023028127号-2 )|友链申请|

GMT+8, 2025-4-20 07:43 , Processed in 0.088520 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表