QFile
Qt では、やQTextStream
など、さまざまなメソッドを利用してファイルの読み書きをQDataStream
実現できます。 以下の 3 つのメソッドをそれぞれ紹介し、ファイルの作成と読み込みを行うための具体的なコードを示します。
1. ファイル操作には QFile を使用します
QFile
オブジェクトを作成し、このオブジェクトを使用して指定されたパスの下にあるテキスト ファイルを読み取る方法。QFile
Qt が提供するファイル操作クラスは、readAll()
そのメンバー関数を呼び出すことでファイル全体の内容を読み取ることができます。ファイルの読み取り 最初にファイルを開き、最後に読み取り後にファイルを閉じる必要があります。そうしないと、エラーが報告されます。
#include <QCoreApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 定义文件名
QString fileName = "C:\\cpp\\qt\\widget\\qq.txt";
// 创建文件对象
QFile file(fileName);
// 打开文件,并且以只读方式进行读取
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
// 读取文件内容
QByteArray fileData = file.readAll();
// 关闭文件
file.close();
// 输出读取的文件内容
qDebug() << "读取的文件内容:" << fileData;
} else {
// 如果文件打开失败,则输出错误信息
qDebug() << "打开文件失败!";
}
return a.exec();
}
2. テキスト ファイル操作には QTextStream を使用します
オブジェクトを作成し
QTextStream
、このオブジェクトを使用して、指定されたパスにあるテキスト ファイルにデータを書き込みます。データの書き込み後にファイルを閉じる必要があることに注意してください。そうしないと、データをファイルに書き込むことができません。
#include <QCoreApplication>
#include <QFile>
#include <QTextStream>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 定义文件名
QString fileName = "C:\\cpp\\qt\\widget\\ww.txt";
// 创建文件对象
QFile file(fileName);
// 打开文件,并且以写入方式进行操作
if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {
// 绑定 QTextStream 对象和文件对象
QTextStream out(&file);
// 写入数据到文件中
out << "Hello World!";
// 关闭文件
file.close();
// 重新打开文件并以只读方式进行操作
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&file);
// 读取文件内容
QString fileContent = in.readAll();
// 关闭文件
file.close();
// 输出读取的文件内容
qDebug() << "读取的文件内容:" << fileContent;
} else {
// 如果文件打开失败,则输出错误信息
qDebug() << "打开文件失败!";
}
} else {
// 如果文件打开失败,则输出错误信息
qDebug() << "打开文件失败!";
}
return a.exec();
}
3. バイナリファイル操作に QDataStream を使用する
オブジェクトを作成し
QDataStream
、このオブジェクトを使用して、指定されたパスにあるバイナリ ファイルにデータを書き込みます。データの書き込み後にファイルを閉じる必要があることに注意してください。そうしないと、データをファイルに書き込むことができません。
#include <QCoreApplication>
#include <QFile>
#include <QDataStream>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 定义文件名
QString fileName = "C:\\cpp\\qt\\widget\\ee.txt";
// 创建文件对象
QFile file(fileName);
// 打开文件,并且以写入方式进行操作
if (file.open(QIODevice::WriteOnly)) {
// 绑定 QDataStream 对象和文件对象
QDataStream out(&file);
// 写入数据到文件中
out << QString("这是二进制文件");
// 关闭文件
file.close();
// 重新打开文件并以只读方式进行操作
if (file.open(QIODevice::ReadOnly)) {
QDataStream in(&file);
// 读取文件内容
QString fileContent;
in >> fileContent;
// 关闭文件
file.close();
// 输出读取的文件内容
qDebug() << "读取的文件内容:" << fileContent;
} else {
// 如果文件打开失败,则输出错误信息
qDebug() << "打开文件失败!";
}
} else {
// 如果文件打开失败,则输出错误信息
qDebug() << "打开文件失败!";
}
return a.exec();
}