1 文件读写 1.1 读文件 1.1.1 QFile file(文件路径) 1.1.2 file.open 指定打开方式 QIODevice::ReadOnly 1.1.3 利用 file.readAll一次性全部读取 1.1.4 利用 file.readLine 按行读取 1.1.5 file.close 关闭文件对象 1.1.6 读取gbk格式 1.1.6.1 QTextCodec * codec = QTextCodec::codecForName("gbk"); 1.1.6.2 codec->toUnicode(array) 1.2 写文件 1.2.1 QFile file(路径) 1.2.2 file.open(QIODevice::Append); //QIODevice::Append追加的方式写文件 1.2.3 file.write("啊啊啊啊!"); 1.2.4 file.close(); 2 文件信息类 2.1 QFileInfo info(路径) 2.2 info获取文件信息 2.3 后缀名: suffix 文件大小 size 文件名 filename 文件路径 filePath 2.4 创建日期 created 修改日期 lastModify 2.5 QDateTime 需要用 toString转为自己制定的输出格式
[C++] 纯文本查看 复制代码 //点击按钮 弹出文件对话框,选择文件
connect(ui->pushButton,&QPushButton::clicked,[=](){
QString filePath = QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\zhangtao\\Desktop");
qDebug() << filePath;
if(filePath.isEmpty())
{
QMessageBox::warning(this,"警告","文件路径不能为空");
return;
}
else
{
//将文件路径放入到 lineEdit中
ui->lineEdit->setText(filePath);
//读文件
//文本编码格式类
QTextCodec * codec = QTextCodec::codecForName("gbk");
//将文件内容 读取到 textEdit中
QFile file(filePath);
//指定打开方式
file.open(QIODevice::ReadOnly);
//Qt默认支持的格式是utf-8
QByteArray array;
// array = file.readAll();
while (!file.atEnd()) {
array += file.readLine();
}
ui->textEdit->setText(array);
//ui->textEdit->setText( codec->toUnicode(array) );
file.close();
//写文件
// file.open(QIODevice::Append); //QIODevice::Append追加的方式写文件
// file.write("啊啊啊啊!");
// file.close();
//读取文件信息
QFileInfo info(filePath);
qDebug() << "文件后缀名:" <<info.suffix() << "文件大小:" <<info.size() <<
"文件名:"<< info.fileName() << "文件路径:"<<info.filePath();
qDebug() << "创建日期:" << info.created().toString("yyyy-MM-dd hh:mm:ss")<<
"最后修改日期:"<<info.lastModified().toString("yyyy/MM/dd hh:mm:ss");
}
|