区别:
- 文本流不会区分两次写入数据,读的时候会一起读出来
数据流会区分, 会一个个读出来
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//----------------------文本流------------------------//
// 写入
QFile file("aaa.txt");
file.open(QFileDevice::WriteOnly);
QTextStream stream(&file);
stream << QString("hello World") << 12356; // 注意一定要用QString包住字符串, 不然读出来是乱码
file.close();
// 读取
file.open(QFileDevice::ReadOnly);
QString str;
//stream >> str; // 读取到空格就结束
str = stream.readAll();
qDebug() << str;
//----------------------数据流------------------------//
// 写入,二进制
QFile file("bbb.txt");
file.open(QFileDevice::WriteOnly);
QDataStream stream(&file);
stream << QString("hello World") << 123456; // 注意一定要用QString包住字符串, 不然读出来是乱码
file.close();
// 读取,二进制
file.open(QFileDevice::ReadOnly);
QString str;
int num;
stream >> str >> num; // 读取一种数据类型就结束
qDebug() << str << num;
}