Qt文件管理
1.Qt的文件管理涉及到的头文件
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QDir>//qt文件系统相关头文件
#include <QFileInfo>
#include <QDebug>//屏幕打印
#include <QFile>//文件操作
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
main.cpp
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QDir mDir("E:\\github\\Qt");//创建一个对象 判断该文件夹是否存在
qDebug()<<mDir.exists();
MainWindow w;
w.show();
return a.exec();
}

2.自动生成文件夹
QDir mDir("E:\\qt_code\\2020-8-19_File\\abc");//创建一个对象 判断该文件夹是否存在
qDebug()<<mDir.exists();
if (!mDir.exists())
{
qDebug()<<"create New";
mDir.mkdir("E:\\qt_code\\2020-8-19_File\\abc");
}
else {
qDebug()<<"already exist!";
}
3.查询文件路径
qDebug()<<mDir.current();
qDebug()<<mDir.currentPath();//qt exe程序运行启动目录的上一级
qDebug()<<mDir.homePath();
qDebug()<<mDir.rootPath();
qDebug()<<mDir.dirName();//文件夹名称
qDebug()<<mDir.absolutePath();//这个比较有使用价值,绝对路径
4.遍历文件下的文件(和文件夹)
QDir mDir2("E:\\qt_code\\2020-8-19_File");
foreach(QFileInfo mItem,mDir2.entryInfoList())
{
if(mItem.isDir())
qDebug()<<"Dir"<<mItem.filePath();
else if(mItem.isFile())
qDebug()<<"File"<<mItem.filePath();
}
5.筛选匹配
//名称适配
QDir mDir3("E:\\qt_code\\2020-8-19_File");
QStringList filters;//创建一个字符串链表
filters<<"*.cpp"<<"*.png"<<"*.pro";
mDir3.setNameFilters(filters);
qDebug()<<mDir3.entryList(filters,QDir::Files);

6.打开方式

7.新建文件
QFile file("testfile.txt");//先指定一个文件名
if (!file.open(QIODevice::ReadWrite|QIODevice::Text))//通过open操作创建或打开一个文件
//注意QIODevice::Text字段的使用\r\n是隔开一行,\n是不隔开直接转下一行
{
qDebug()<<file.errorString();
return -1;
}
else {
qDebug()<<"open success!";
}
file.write("hello!\nThis is a test!");
file.close();
QFile file2("testfile2.txt");//测试,仅仅这样就没有建立文件
8.文件读取
//读取文件----
if (!file.open(QIODevice::ReadWrite|QIODevice::Text))//通过open操作创建或打开一个文件
//注意QIODevice::Text字段的使用\r\n是隔开一行,\n是不隔开直接转下一行
{
qDebug()<<file.errorString();
return -1;
}
else {

最低0.47元/天 解锁文章
4371

被折叠的 条评论
为什么被折叠?



