PS:向/delaydata.txt写入内容,在open模式要加上QIODevice::Append方式,清空 文件内容是file.resize(0);
void writeDataToFile(const long &data)
{
QFile file("/delaydata.txt");
if(!file.open(QIODevice::WriteOnly|QIODevice::Append|QIODevice::Text))
{
qDebug()<<"open file failure";
return;
}
QTextStream outdata( &file );
outdata<<data<<"\n";
file.close();
}
基本用法
QFile类是一个操作文件的输入/输出设备。
QFile是用来读写二进制文件和文本文件的输入/输出设备。QFile可以自己单独被使用,但是如果和QDataStream或QTextStream一起使用将更加方便。
文件名通常可以通过构造函数来传递,但也可以使用setName()来设置。你可以通过exists() 来检查一个文件是否存在并且可以通过remove()来移去一个文件。
文件可以用open() 来打开、用close() 来关闭、用flush() 来刷新。数据通常可以使用QDataStream或者QTextStream进行读写,但你也可以使用readBlock() 和readLine() 来读,使用writeBlock() 来写。QFile也支持getch()、 ungetch() 和putch()。
size() 可以返回文件的大小。你可以通过使用at() 函数得到当前文件位置或者移到一个新的文件位置。如果你到了文件的末尾,atEnd()返回真。handle()返回文件句柄。
这里是一个使用QTextStream来一行一行地读取一个文本文件的代码段。它会把每一行带上一个行号打印出来。
QStringList lines;
QFile file( "file.txt" );
if ( file.open( IO_ReadOnly ) ) {
QTextStream stream( &file );
QString line;