QT的文件读写

一、读文件

#include "widget.h"
#include "ui_widget.h"
#include <QFileDialog>
#include <QDebug>
#include <QMessageBox>
#include <QFile>
#include <QTextCodec>

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{
    ui->setupUi(this);

    connect(ui->pushButton,&QPushButton::clicked,this,[=](){
        QString filePath = QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\Admin\\Desktop","(*.txt)");		//后两个参数为:默认打开的路径、筛选的文件格式
        if (filePath.isEmpty())
        {
            QMessageBox::warning(this,"警告","路径不能为空!");
        }
        else
        {
            ui->lineEdit->setText(filePath);
            QFile file(filePath);
            file.open(QIODevice::ReadOnly);
            QByteArray messageFile1 = file.readAll();
//            QByteArray messageFile2 = file.readLine();
//            if (!file.atEnd())
//            {
//                messageFile2 += file.readLine();
//            }
            QTextCodec* codec = QTextCodec::codecForName("UTF-8");
            ui->textEdit->setText(codec->toUnicode(messageFile1));         //默认支持UTF-8格式
            file.close();
        }
    });
}

在这里插入图片描述

二、写文件

#include "widget.h"
#include "ui_widget.h"
#include <QFileDialog>
#include <QMessageBox>
#include <QFile>

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{
    ui->setupUi(this);

    connect(ui->pushButton,&QPushButton::clicked,this,[=](){
        QString filePath = QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\Admin\\Desktop","(*.txt)");		//后两个参数为:默认打开的路径、筛选的文件格式
        if (filePath.isEmpty())
        {
            QMessageBox::warning(this,"警告","路径不能为空!");
        }
        else
        {
            ui->lineEdit->setText(filePath);
            QFile file(filePath);
//            file.open(QIODevice::WriteOnly);              //会将原本的文本覆盖
//            file.write("路明非");
            file.open(QIODevice::Append);
            file.write("路明非!!!!!!!!!!");
            file.close();
        }
    });
}

三、QFileInfo——文件信息

#include "widget.h"
#include "ui_widget.h"
#include <QFileDialog>
#include <QDebug>
#include <QMessageBox>
#include <QFile>
#include <QFileInfo>
#include <QDateTime>

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{
    ui->setupUi(this);

    connect(ui->pushButton,&QPushButton::clicked,this,[=](){
        QString filePath = QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\Admin\\Desktop","(*.txt)");		//后两个参数为:默认打开的路径、筛选的文件格式
        if (filePath.isEmpty())
        {
            QMessageBox::warning(this,"警告","路径不能为空!");
        }
        else
        {
            ui->lineEdit->setText(filePath);
            QFile file(filePath);
            QFileInfo fileInfo(filePath);
            qDebug() << "文件后缀名:" << fileInfo.suffix().toUtf8().data() << endl
                            << "文件大小:" << fileInfo.size() << endl
                            << "文件名:" << fileInfo.fileName() << endl
                            << "文件路径:" << fileInfo.filePath();
            qDebug() << "创建日期:" << fileInfo.birthTime().toString("yyyy-MM-dd hh:mm:ss") << endl        //#include <QDateTime>
                     << "最后一次修改日期:" << fileInfo.lastModified().toString("yyyy-MM-dd hh:mm:ss");

        }
    });
}

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值