QT 自学内容 day06 文件的打开,读取,写入,输出内容的时候编码方式的修改,文件的创建日期,和最后的修改时间

1.打开文件 :

头文件:

#include <QFile>

#include <QFileDialog>  //路径打开文件

函数:

 QString path = QFileDialog::getOpenFileName(this,"打开文件","D:");//第一个参数是自己的父类, 第二个参数是打开窗口的名字,第三个参数是开始的时候 打开文件的路径
    //将路径放入到LineEdit 中
    ui->lineEdit->setText(path);


    QFile file(path);//创建一个文件的对象,参数是路径
    //设置打开文件的方式
    file.open(QIODevice::ReadOnly);//只读的方式打开文件

2.读取文件的内容:

代码:

QByteArray array =file.readAll();//读取所有的内容
    //另外的一种方法读取所有的内容
    //while(!file.atEnd())//一直读到文件的末尾
    //{
    //    array+=file.readLine();//按行读
    //}

3.给文件写入内容

代码:

//进行写文件
    //file.open(QIODevice::Append);//用追加方式进行写
    //file.write("aaaaaaa");
    //file.close();

4.输出内容的时候编码方式的改变

头文件:

#include <QTextCodec>

代码:

//编码格式类
    QTextCodec * codec = QTextCodec::codecForName("gbk");//这个软件默认的是 UTF-8
 //将读取的内容 放入TextEdit中
    //ui->textBrowser->setText(codec->toUnicode(array));//这个是之前的修改的输出格式 gbk

5.文件的创建日期,和最后的修改时间

头文件:

#include <QFileInfo>//获取文件的创建时间,最后修改时间

#include <QDateTime>

代码:

 //QFileInfo 文件信息类
    QFileInfo info(path);
    qDebug()<<"大小"<<info.size()<<"后缀名: "<<info.suffix()<<"文件名称: "<<file.fileName();
    qDebug()<<"创建日期: "<<info.created();
    qDebug()<<"最后的修改日期: "<<info.lastModified();
    qDebug()<<"创建日期: "<<info.created().toString("yyyy/MM/dd  hh:mm:ss");//相比上面的简化了输出
   qDebug()<<"最后的修改日期: "<<info.lastModified().toString("yyyy-MM-dd  hh:mm:ss"); //格式也修改了

6.所有的代码:

ui->设计界面的图片 :

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

main.cpp

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

 widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QFile>
#include <QFileDialog>
#include <QPushButton>
#include <QString>
#include <QDebug>
#include <QFileInfo>//获取文件的创建时间,最后修改时间
#include <QTextCodec>
#include <QDateTime>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    connect(ui->pushButton,&QPushButton::clicked,[=](){

    QString path = QFileDialog::getOpenFileName(this,"打开文件","D:");//第一个参数是自己的父类, 第二个参数是打开窗口的名字,第三个参数是开始的时候 打开文件的路径
    //将路径放入到LineEdit 中
    ui->lineEdit->setText(path);

    //编码格式类
    QTextCodec * codec = QTextCodec::codecForName("gbk");//这个软件默认的是 UTF-8

    QFile file(path);//创建一个文件的对象,参数是路径
    //设置打开文件的方式
    file.open(QIODevice::ReadOnly);//只读的方式打开文件
    QByteArray array =file.readAll();//读取所有的内容
    //另外的一种方法读取所有的内容
    //while(!file.atEnd())//一直读到文件的末尾
    //{
    //    array+=file.readLine();//按行读
    //}
    //将读取的内容 放入TextEdit中
    ui->textBrowser->setText(array);//默认的 UTF-8
    //ui->textBrowser->setText(codec->toUnicode(array));//这个是之前的修改的输出格式 gbk

    file.close();//对文件对象进行关闭

    //进行写文件
    //file.open(QIODevice::Append);//用追加方式进行写
    //file.write("aaaaaaa");
    //file.close();

    //QFileInfo 文件信息类
    QFileInfo info(path);
    qDebug()<<"大小"<<info.size()<<"后缀名: "<<info.suffix()<<"文件名称: "<<file.fileName();
    qDebug()<<"创建日期: "<<info.created();
    qDebug()<<"最后的修改日期: "<<info.lastModified();
    qDebug()<<"创建日期: "<<info.created().toString("yyyy/MM/dd  hh:mm:ss");//相比上面的简化了输出
   qDebug()<<"最后的修改日期: "<<info.lastModified().toString("yyyy-MM-dd  hh:mm:ss"); //格式也修改了



    });

}

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值