QFile
读文件
点击按钮弹出界面将选择读取的文件内容读取到textEdit中
#include <QFile>
#include <QFileDialog>
void MainWindow::on_buttonRead_clicked()
{
QString path = QFileDialog::getOpenFileName(this,"open","../","TXT(*.txt)");//最后一个参数可写可不写,指定打开文件的类型
if(path.isEmpty()==false){
QFile file(path);//文件对象
bool isOK=file.open(QIODevice::ReadOnly);//以只读的方式打开
if(isOK == true){
#if 0 //全部读
QByteArray array = file.readAll();//读取文件全部内容
ui->textEdit->setText(array);//将文件内容显示到textEdit中
#endif
//按行读
QByteArray array;
while(file.atEnd()==false){
array += file.readLine();
}
ui->textEdit->setText(array);
}
file.close();
}
}
写文件
点击按钮将textEdit的内容写到指定文件中
void MainWindow::on_buttonWrite_clicked()
{
QString path = QFileDialog::getSaveFileName(this,"save","../","TXT(*.txt)");
if(path.isEmpty()==false){
QFile file;
file.setFileName(path);
bool isOK= file.open(QIODevice::WriteOnly);//以写的方式打开
if(isOK== true){
QString str = ui->textEdit->toPlainText();//获取编辑框内容
file.write(str.toUtf8());
}
file.close();
}
}
QFileInfo
获取文件信息
QFileInfo info(path);
info.fileName().toUtf8().data();//文件名字
info.suffix();//文件后缀
info.size();//文件大小
info.created().toString("yyyy-MM-dd hh:mm:ss")//创建文件的时间2019-08-31 10:31:00(#include <QDateTime>)
注: QByteArray转为QString的方式为强制转换