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;
}