Qt学习记录-文件操作

获取文件路径

利用QFileDialog对话框,让用户选择文件,获取文件路径

1
QString path=QFileDialog::getOpenFileName(this,"打开文件","C:\\");
  • 第二个参数是弹出对话框的名字

  • 第三个参数是默认打开的路径

  • 利用QString来接收返回值

创建文件类

  • 默认为UTF-8的打开方式
1
2
3
4
QFile file(path);

//设置打开方式
file.open(QIODevice::ReadOnly);
  • 打开方式有很多种

读取文件

1
2
3
4
5
6
7
8
ui->textEdit->setText(file.readAll());
//第一种,全部读取

while(!file.atEnd())
{
ui->textEdit->append(file.readLine());
}
//第二种,逐行读取,到文件末尾时停止

写文件

  • 写文件的参数也代表多种模式
    • Append:接着写,不覆盖
    • Truncate:覆盖
1
2
3
file.open(QIODevice::Append);
file.write("已阅");
file.close();//这里和Java不一样,Java要close文件才会写入

获取文件信息

  • QFileInfo类
1
2
3
4
5
6
QFileInfo qfi(path);//QFileInfo类打开文件,获取文件信息


ui->textEdit->append("文件大小:"+QString::number(qfi.size()));
ui->textEdit->append("路径:"+qfi.filePath());
ui->textEdit->append("创建日期:"+qfi.birthTime().toString("yyyy/MM/dd hh:mm:ss"));