Qt中的空文件
Posted
技术标签:
【中文标题】Qt中的空文件【英文标题】:Empty file in Qt 【发布时间】:2012-09-09 07:37:58 【问题描述】:我有一个名为 DBFile 的文件。 我正在使用以下代码:
QString DBfile ="C:/Users/E543925/Desktop/VikuTB.xml";
QFile newFile(DBfile);
newFile.open( QIODevice::WriteOnly);
现在,如果文件为空,我想在文件中写入一些内容。 Qt中如何检查文件是否为空?
【问题讨论】:
【参考方案1】:newFile.size()
打开前检查文件大小【讨论】:
【参考方案2】:添加附加标志并检查插入pointer
:
newFile.open( QIODevice::WriteOnly|QIODevice::Append );
if (newFile.pos() == 0)
// is empty
else
// some data inside
免责声明:未经测试的代码,现在我会花时间尝试一下...
edit:经过测试,似乎运行良好...
【讨论】:
我不知道为什么这是公认的答案。 @VladGordin 是正确的。这在这里不起作用(至少在 Qt 5.4 中)。 QIODevice(即文件)支持size()函数,准确返回设备的大小。以上是关于Qt中的空文件的主要内容,如果未能解决你的问题,请参考以下文章
JBoss EAP 6.4.4 中的空日志文件(日志配置文件)