访问IO设备,需要先调用open()来设置正确的OpenMode(例如ReadOnly或ReadWrite)
打开设备后后,使用write() 或putChar() 写入数据到文件和设备,并通过调用read(),readLine()
或readAll() 进行读取;使用完设备后,还需调用close()。QIODevice区分两种类型的设备:随机访问设备(Random-access devices)和顺序设备(Sequentialdevices)。
1,QFile
QFile是用于文件的创建、读写、复制、删除等等,可以实现文本文件和二进制文件的读写。 QFile 的接口函数可以参考下Qt帮助文档,下面程序是读取普通文件按行提取。QFile一般用来读写文件文件,文件流操作类QTextStream和QTextStream用来读写二进制文件。
QFile file(textfile);
//当文件无法进行读操作的时候,将弹出信息框
if(!file.open(QFile::ReadOnly|QFile::Text))
{
QMessageBox::warning(this,tr("Error"),tr("read file error:&1").arg(file.errorString()));
return;
}
else
{
QString line;
QTextStream in(&file); //用文件构造流
line = in.readLine();//读取一行放到字符串里
qDebug() << line;
while(!line.isNull())//字符串有内容
{
line=in.readLine();//循环读取下行
qDebug() << line;
}
}
2,QTextStream
QTextStream类提供了用于读取和写入文本的便捷接口。QTextStream可以操作QIODevice, QByteArr