QFile文件操作
读文件
需求
按下按钮会弹出文件对话框,选中相应的文件后会把文件路径放到Line Edit中,文件中的内容会显示在下面的文本框中
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//点击选取文件对话框,弹出文件对话框
connect(ui->pushButton,&QPushButton::clicked,this,[=](){
QString file_name = QFileDialog::getOpenFileName(this,"打开文件","D:\\桌面");//返回值是QString类型的
ui->lineEdit->setText(file_name);
//读取内容
QFile file(file_name);
//打开文件
file.open(QIODeviceBase::ReadOnly);
//读
//QByteArray byteArray = file.readAll();//整个读
//QByteArray file_line = file.readLine();//按行读一行
//按行整个读
QByteArray arr;
while( !file.atEnd())
{
arr += file.readLine();
}
//将读到的数据显示到文本框中
//ui->textEdit->setText(byteArray);//会进行隐式转换,能显示txt类型的,doc的有的会显示乱码
//默认支持的格式utf-8
ui->textEdit->setText(arr);
file.close();
});
}
写文件
file.open(QIODeviceBase::Append);//以追加的方式写
file.write("啊啊啊啊啊");
file.close();
QFileInfo文件信息的类,可以读到文件的相关信息,长度后缀,等信息
后缀名: QString suffix() const
QFileInfo info(file_name);
qDebug()<<"大小:"<<info.size()<<"后缀名:"<<info.suffix()
<<"文件名称:"<<info.fileName()
<<"创建时间:"<<info.birthTime().toString("yyyy/MM/dd hh:mm:ss");