目录
文本流
QFile file (path)
QTextStream(&file
stream<<写
stream .readAll >>遇到空格结束
数据流
QDataStream stream (&file)
stream<<写数据
stream
代码
widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include <QFileDialog>
#include <QMessageBox>
#include <QFile>
#include <QFontInfo>
#include <QDebug>
#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,"打开文件","/home/cet/Qt/JiaoCheng/15");
if(path.isEmpty()){
QMessageBox::warning(this,"警告","打开失败");
}
else{
//将路径放入到lineEdit
ui->lineEdit->setText(path);
//读取文件,QFile默认支持UTF-8格式
QFile file(path);//参数路径名称
//指定打开方式,只读
file.open(QFileDevice::ReadOnly);
QByteArray array;
array=file.readAll();
//设置到文本编辑框中
ui->textEdit->setText(array);
file.close();
//写文件,重新指定打开方式
/*file.open(QFileDevice::Append);
file.write("踩踩踩踩踩");
file.close();*/
//通过QFileInfo读取文件信息
QFileInfo info(path);
qDebug()<<"路径:"<<info.filePath();
qDebug()<<"名称:"<<info.fileName();
qDebug()<<"文件大小:"<<info.size();
qDebug()<<"后缀名:"<<info.suffix();
qDebug()<<"创建日期:"<<info.created().toString("yyyy-MM-dd hh:mm:ss");
qDebug()<<"修改日期:"<<info.lastModified().toString("yyyy/MM/dd hh:mm:ss");
}
});
//文件流写文件
//文本流,基础数据类型
QFile file("/home/cet/Qt/JiaoCheng/15/15/a1.txt");
file.open(QFileDevice::WriteOnly);
QTextStream liu(&file);
liu<<QString("你好 世界!")<<123456;
file.close();
//读取
file.open(QFileDevice::ReadOnly);
QString str;
str=liu.readAll();
qDebug()<<str;
//数据流,二进制形式,大数据类型
QFile file2("/home/cet/Qt/JiaoCheng/15/15/a2.txt");
file2.open(QFileDevice::WriteOnly);
QDataStream liu2(&file2);
liu2<<QString("你好 世界!")<<123456;
file2.close();
//读数据
file2.open(QFileDevice::ReadOnly);
QString str2;
int num;
liu2>>str2>>num;
qDebug()<<str2<<num;
}
Widget::~Widget()
{
delete ui;
}