QT(37)-文件操作-QFile-QFileInfo-实例源码

demo

1.打开一个文件,编码UTF-8,读取内容并显示在对话框中。用到QFileDialog、QFile、QTextCodec
2.文件本身的信息,如大小,创建日期。QFileInfo
 

#include "qtfile.h"
#include "ui_qtfile.h"
#include<QFileDialog>
#include<QFile>
#include<QTextCodec>
#include<QFileInfo>
#include<QDebug>
#include<QTime>
qtFile::qtFile(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::qtFile)
{
    ui->setupUi(this);
    connect(ui->openfile_bt,&QPushButton::clicked,[=](){

        //打开文件用QFileDialog
        QString path=QFileDialog::getOpenFileName(this,"openfile","/home/C++/QTProject/QtFile/MYTESTFILE.TXT");
        //将路径放入到lineEdit
        ui->lineEdit->setText(path);


       // 编码格式  默认是utf-8
        //QTextCodec *codec=QTextCodec::codecForName("gbk");

        //1.读取内容 放入到textEdit
        QFile file(path);
        //设置打开方式
        file.open(QIODevice::ReadOnly);
        //1.1读取所有
        QByteArray arrayall=file.readAll();
        //1.2.一行行读
        QByteArray arrayoneline;
        while(!file.atEnd())
        {
           arrayoneline+=file.readLine();
        }

        //读取内容 放入到textEdit
        ui->textEdit->setText(arrayall);
        file.close();

        //2 写 追加的方式进行写
        file.open(QIODevice::Append);
        file.write("aaaaa");
        file.close();


        //3.文件信息类

        QFileInfo info(path);
        qDebug()<<"大小"<<info.size()<<"后缀名:"<<info.suffix()<<"文件名:"<<info.fileName();
        qDebug()<<"创建日期"<<info.created().toString("yyyy/MM/dd hh:mm:ss");



    });
}

qtFile::~qtFile()
{
    delete ui;
}

 

posted @ 2020-12-29 16:42  jasmineTang  阅读(165)  评论(0)    收藏  举报