当前位置:网站首页>Qt | 读取文件内容并删除文件 QFile
Qt | 读取文件内容并删除文件 QFile
2022-08-02 14:12:00 【华为云】
环境:VS2017+Qt5.14.2
程序中有时需要读取文件内容的功能,读取文件内容一般涉及到提取应用程序路径、提取目录或文件信息、打开文件、提取文件信息等功能。
读取文件内容和删除文件的相关的操作类有:
QFile:除了打开文件操作外,QFile 还有复制文件、删除文件等功能。
QDir:用于提取目录或文件信息,获取一个目录下的文件或目录列表,创建或删除目录和文件,文件重命名等操作。
1.首先获取程序当前的运行路径,然后拼接文件路径。
QString qstrPath = QDir::currentPath();
qstrPath += “\Files”;
2.判断路径是否存在。
QDir dir(qstrPath);
bool ret = dir.exists();
QDir 是进行目录操作的类,在创建 QDir 对象时传递一个目录字符串作为当前目录,然后 QDir 函数就可以针对当前目录或目录下的文件进行操作。在操作之前可以调用 exists()函数判断一下传递的目录是否存在,如果存在再进行操作。
3.过滤文件类型。
QStringList filters; filters << QString(".txt") << QString(".doc");
//设置需要筛选出来的文件的后缀名,可以设置多种文件类型。
dir.setFilter(QDir::Files | QDir::NoSymLinks);
//设置类型过滤器只为文件格式,QDir::Files 为只列出文件,QDir::NoSymLinks 不列出符号连接(不支持符号连接的操作系统会忽略它,什么意思我也不太清楚)
dir.setNameFilters(filters);
//这个函数会将我们设置的文件格式设置进去,就可以得到我们想要的格式的文件了。到这里,所有符合我们设置的文件都已经筛选出来了。调用 dir.count()可以获取到筛选出的文件的个数。
4.读取文件内容并删除文件。
for(int i=0; i<dir.count(); i++)
{
QByteArray data;
QFile file;
QString qstrFileName = qstrName + dir[i];
file.setFileName(qstrFileName);
if(file.open(QIODevice::ReadOnly))
{
data = file.readAll();
file.close();
file.remove();
}
}
setFileName()为设置文件路径名称,设置文件路径名之后,调用 open()函数打开文件,参数为可以对文件进行的操作的类型,分为只读、只写、可读可写。打开文件后调用 readAll()函数将文件中的内容全部读到 QByteArray 里面,然后调用 close()函数关闭文件。调用 remove()函数可以将这个文件删除。
边栏推荐
- 计算机导论——数据库
- How to simulate 1/3 probability with coins, and arbitrary probability?
- 二叉排序树与 set、map
- golang gc垃圾回收
- 系统性能和TCP/UDP网络优化-学习大杂烩
- Detailed explanation of MATLAB drawing function fplot
- lua编程
- Codeforces Round #624 (Div. 3)
- MATLAB drawing command fimplicit detailed introduction to drawing implicit function graphics
- TCP的三次握手和四次挥手
猜你喜欢
随机推荐
远程连接Ubuntu中的Mysql
二叉树的遍历:递归法/ 迭代法/ 统一迭代法(强QAQ)
IDEA 单元测试报错:Class not found
golang的内存相关内容
Detailed introduction to the hierarchical method of binary tree creation
深入理解Mysql索引底层数据结构与算法
5. Transaction management
锥形相位掩模的Talbot图像
STM32LL library - USART interrupt to receive variable length information
泰伯效应.
二叉排序树与 set、map
shader 和 ray marching
6.统一记录日志
pygame draw arc
Unity-存档与读档
1.开发社区首页,注册
Open the door to electricity "Circuit" (3): Talk about different resistance and conductance
mysql学习总结 & 索引
Compilation error D8021: Invalid numeric argument '/Wextra' cl command line error d8021 invalid numeric argument '/Wextra'
Exotic curiosity-a solution looking - bit operations









