概述
1、用于安全的创建1个全局唯一的临时文件
2、如何创建:调用open()方法就可以自动创建
3、打开方式为ReadWrite,可读可写
4、对象销毁时,对应的临时文件也会跟着自动删除
5、文件名是随机生成的,或者构造函数指定
常用方法:
构造函数
QTemporaryFile()//会随机生成文件名,临时文件的路径也由他自己确定
QTemporaryFile(const QString &templateName)//可以指定路径和文件名后缀
自己指定临时文件的路径和文件名后缀时,文件名部分要用XXXXXX(6个X,大写)占位,文件名仍然由QTemperoryFile自己来定:
比如:
//指定临时文件的路径为exe所在目录,且后缀为txt
QTemporaryFile file(
QCoreApplication::applicationDirPath()
+QDir::separator()
+"XXXXXX.txt");
结果:"C:/QTdemo/TemperoryFile/build/Desktop_Qt_6_7_0_MinGW_64_bit-Debug/debug/UsDiKc.txt"
设置是否自动删除
设置为false时,QTemperortFile对象销毁时,其对应的临时文件则不会销毁,需要手动在销毁前手动remove
void QTemporaryFile::setAutoRemove(bool b)
打开临时文件
bool QTemporaryFile::open()
手动删除临时文件
//父类的方法
bool QFile::remove()
获取临时文件的绝对路径
//如果临时文件没有打开,那么返回空字符串
[override virtual] QString QTemporaryFile::fileName() const
静态方法
[static] QTemporaryFile *QTemporaryFile::createNativeFile(QFile &file)
- 如果file还不是本机存在的文件,那么则会创建一个临时文件,复制file的内容,然后返回这个临时文件
- 如果file已经是本机存在的文件,那么返回0
可能用到的场景:QFile file(/AA/BB/txt);这个文件没有打开而且不存在,还有这个文件指向网络中某个文件
学习链接:https://github.com/0voic