Qt练习之文件操作
QFile:QFile是用来读写二进制文件和文本文件的输入/输出设备。QFile可以自己单独被使用,但是如果和QDataStream或QTextStream一起使用将更加方便
QFile file("in.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
while (!file.atEnd()) {
QByteArray line = file.readLine();
process_line(line);
}
QFileDialog:The QFileDialog class provides a dialog that allow users to select files or directories.
最常用的为getOpenFileName() 建立一个取文件对话框,选择OK返回文件路径给filename;以下为应用实例:
fileName = QFileDialog::getOpenFileName(this,
tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));
在我的小练习中,使用如下:
当文件路径不为空的时候,将创建一个QFile指针,通过setFileName()设置文件名,再打开文件,如果打开成功,将文件指向输入流,再通过readAll()读出文件内容,并显示在textEdit中
QTextStream类提供了使用QIODevice读写文本的基本功能
文本流类的功能界面和标准的C++的iostream类非常相似。iostream和QTextStream的不同点是我们的流操作在一个很容易被继承的QIODevice上,而iostream只能操作一个不能被继承的FILE *指针。
QString str; QTextStream ts( &str, IO_WriteOnly ); ts << "pi = " << 3.14; // str == "pi = 3.14"