#include "win.h"
#include "ui_win.h"
#include
#include
#include
#include
#include
Win::Win(QWidget *parent) :
QWidget(parent),
ui(new Ui::Win)
{
ui->setupUi(this);
setWindowTitle("文件操作");
connect(ui->pushButton,&QPushButton::clicked,[=](){
QString file_name=QFileDialog::getOpenFileName(this,"请选择需要打开的文件:","D:\\sss","*.txt");
if(file_name.isEmpty()){
QMessageBox::warning(this,"警告:","路径为空");
}else{
ui->lineEdit->setText(file_name);
QTextCodec* code=QTextCodec::codecForName("gbk"); //编码格式
QFile file(file_name); //创建文件对象
//参数:文件全路径
file.open(QIODevice::ReadOnly); //打开文件--不读文件内容
//参数:文件模式。Qt助手搜索QIODevice::OpenModeFlag
//QIODevice::ReadOnly 只读
QByteArray t;
//t =file.readAll(); //读取所有剩余数据
//从设备读取所有剩余数据,并将其作为字节数组返回
//返回值:字节数组
//使用readAll函数后文件指针达到文件末尾
while (!file.atEnd()) {
//file.atEnd() 指针在文件尾就返回true
t+=file.readLine(); //读取一行
}
ui->textEdit->setText(t);
//默认UTF-8格式,原文件是UTF-8格式不用赚
//ui->textEdit->setText(code->toUnicode(t));
//code->toUnicode(t) 原文件是ANSI格式,所以转成gbk编码格式
//在简体中文windows系统下,ANSI编码代表GBK/GB2312编码
file.close();//关闭文件
file.open(QIODevice::Append); //追加写模式
//Append 在文件尾添加,保留原文件内容
//WriteOnly 原文件内容被删除
file.write("\\r\\n我是李明");
file.close();
}
});
}
Win::~Win()
{
delete ui;
}
#include "win.h"
#include "ui_win.h"
#include
#include
#include
#include
#include
Win::Win(QWidget *parent) :
QWidget(parent),
ui(new Ui::Win)
{
ui->setupUi(this);
setWindowTitle("文件操作");
connect(ui->pushButton,&QPushButton::clicked,[=](){
QString file_name=QFileDialog::getOpenFileName(this,"请选择需要打开的文件:","D:\\sss","*.txt");
if(file_name.isEmpty()){
QMessageBox::warning(this,"警告:","路径为空");
}else{
ui->lineEdit->setText(file_name);
QFileInfo info(file\_name); //获取指定文件的信息
//参数:文件全路径
qDebug()<<"文件路径:"<<info.filePath();
//info.filePath() 返回文件全路径---"D:/sss/sss.txt"
qDebug()<<"文件名称:"<<info.fileName();
//info.fileName() 返回文件名称-- "sss.txt"
qDebug()<<"文件大小:"<<info.size();//文件大小--单位:字节
qDebug()<<"文件后缀名:"<<info.suffix(); //后缀名---"txt"
qDebug()<<"文件创建日期:"<<info.created().toString("yyyy-M-d h:m:s");
//info.created() 返回创建日期,返回值:QDateTime
qDebug()<<"文件修改日期:"<<info.lastModified().toString("yyyy-M-d h:m:s");//修改日期
}
});
}
Win::~Win()
{
delete ui;
}
其它信息:Qt助手搜索 QFileInfo
#include "win.h"
#include "ui_win.h"
#include
#include
#include
#include
#include
#include
Win::Win(QWidget *parent) :
QWidget(parent),
ui(new Ui::Win)
{
ui->setupUi(this);
setWindowTitle("文本流和数据流");
connect(ui->pushButton,&QPushButton::clicked,[=](){
QString file_name=QFileDialog::getOpenFileName(this,"请选择需要打开的文件:","D:\\sss","*.txt");
if(file_name.isEmpty()){
QMessageBox::warning(this,"警告:","路径为空");
}else{
ui->lineEdit->setText(file_name);
//\*\*\*\*\*文本流\*\*\*\*\*\*\*\*\*\*\*
//QFile file(file\_name);
//file.open(QIODevice::WriteOnly);
//QTextStream textstream(&file);
//textstream<<QString("我是李明 ")<<12345678; //写入文本
//file.close();
//file.open(QIODevice::ReadOnly);
QString str;
//textstream>>str; //读取文本到str
//遇到空格就结束读取
//str=textstream.readAll(); //读取剩余的全部数据
qDebug()<<str;
//file.close();
//\*\*\*\*\*\*\*\*\*数据流---二进制方式\*\*\*\*\*\*\*\*\*\*\*\*\*\*
QFile file(file\_name);
//file.open(QIODevice::WriteOnly);
QDataStream datastream(&file);
//datastream<<QString("我是李明 ")<<12345678; //写入文本
//file.close();
file.open(QIODevice::ReadOnly);
datastream>>str;//读取文本块到str
qDebug()<<str;
int num;
datastream>>num;//读取整数块到num
qDebug()<<num;
file.close();
}
});
}
Win::~Win()
{
delete ui;
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章