最近在做QT东西时遇到在指定路径下创建文件,发现qt中没有直接用的。
主要通过自定义一个createFile()函数来实现,其中需要用到<QFile> <QDir> <QDebug>头文件。
为了测试方便,使用QDebug来进行信息点输出。
1 void createFile(QString filePath,QString fileName)
2 {
3 QDir tempDir;
4 //临时保存程序当前路径
5 QString currentDir = tempDir.currentPath();
6 //如果filePath路径不存在,创建它
7 if(!tempDir.exists(filePath))
8 {
9 qDebug()<<"不存在该路径"<<endl;
10 tempDir.mkpath(filePath);
11 }
12 QFile *tempFile = new QFile;
13 //将程序的执行路径设置到filePath下
14 tempDir.setCurrent(filePath);
15 qDebug()<<tempDir.currentPath();
16 //检查filePath路径下是否存在文件fileName,如果停止操作。
17 if(tempFile->exists(fileName))
18 {
19 qDebug()<<"文件存在";
20 return ;
21 }
22 //此时,路径下没有fileName文件,使用下面代码在当前路径下创建文件
23 tempFile->setFileName(fileName);
24 if(!tempFile->open(QIODevice::WriteOnly|QIODevice::Text))
25 {
26 qDebug()<<"打开失败";
27 }
28 tempFile->close();
29 //将程序当前路径设置为原来的路径
30 tempDir.setCurrent(currentDir);
31 qDebug()<<tempDir.currentPath();
32 }
实际使用时,可以根据需要将函数设置成bool类型,方便进行判断是否创建成功。