数据流:二进制编码,以信息流的方式存在电脑里,完全独立于主机的操作系统。
文本流:依赖于主机的操作系统
文本流读取文件于文件操作相似:是将文件转换为流来进行读写
QString filename = QFileDialog::getOpenFileName(this,"打开文件","D:\\QT_CPP\\");
QFile file(filename);
ui->lineEdit->setText(filename);
file.open(QIODevice::ReadOnly);
QTextStream stream(&file);
stream.setCodec("utf-8");//设置编码格式
QByteArray array;
while(!stream.atEnd())
{
//array += file.readLine();
array += stream.readLine();
}
ui->textEdit->setText(array);
数据流:(读写方法与c++里的iostream类似)
QFile file1("D:\\QT_CPP\\Test\\test.dat");
file1.open(QIODevice::WriteOnly);
QDataStream data_stream(&file1);
data_stream << QString("Hello world") << (qint32)65;
file1.close();
file1.open(QIODevice::ReadOnly);
QDataStream data_in_stream(&file1);
QString str;
qint32 n;
data_in_stream >> str >> n;
qDebug() << str << " " << n;
将数据流与其他文件关联起来
QImage image("D:\\QT_CPP\\Test\\test.jpg");
QByteArray arr;
QDataStream stream1(&arr,QIODevice::ReadWrite);//将数据流与arr关联起来
stream1 << image;