QFile 对文件进行读写操作

QFile 对文件进行读写操作

1 QFile 进行读写操纵

2 QFile file(pah ) 文件路径

3 读  file.open(打开方式)  file.readAll(). file.readLine();   atEnd()  默认读取上utf8 

利用编码格式类 指定读取格式 QTextCodec QTestCodec *code = QTextCodec::codeForName("gbk");

ui->textEdit->setText(code->toUnicode(array));

关闭文件对象 close

4 写文件  file.open() file.write() file.close();

5 读取文件信息 QFileInfo fInfo(path);

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

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

    //编码格式的设定
    QTextCodec *code = QTextCodec::codecForName("gbk");

    //点击按钮弹出文件对话框
    connect(ui->pushButton,&QPushButton::clicked,[=](){
        QString path = QFileDialog::getOpenFileName(this,"open file","/Users/libin/qtProject/qtFile");
        //将路径放入lineEdit
        ui->lineEdit->setText(path);

        QFile file(path);
        file.open(QIODevice::ReadOnly);  //默认支持的上utf-8
        QByteArray array;
        //全部读取
        //array = file.readAll();
        while(!file.atEnd()){ //按行读取
            array+=file.readLine();
        }
        //默认utf-8
        //ui->textEdit->setText(array);
        //如果读取的gbk
        ui->textEdit->setText(code->toUnicode(array));
        file.close();

        //写文件
        file.open(QIODevice::Append);
        file.write(";;;;;;;;;");
        file.close();
        //文件信息
        QFileInfo fInfo(path);

        qDebug()<<"文件大小:"<<fInfo.size()<<"文件名称:"<<fInfo.fileName()<<"."<<fInfo.suffix();
        qDebug()<<"创建日期"<<fInfo.created().toString("yyyy-MM-dd:hh:mm:ss");
         qDebug()<<"改变日期"<<fInfo.lastModified().toString("yyyy-MM-dd:hh:mm:ss");

    });




}

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

 

 

 

 

 


 

posted @ 2022-08-01 22:38  摇摆的时钟  阅读(1009)  评论(0编辑  收藏  举报