04.QT文件操作
约 286 字小于 1 分钟
读取和写入
#include <QFile>
#include <QTextStream>
#include <QDebug>
void writeFile(const QString &filename, const QString &content) {
QFile file(filename);
// 打开文件进行写入(创建文件,如果文件不存在)
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
qDebug() << "Could not open file for writing";
return;
}
QTextStream out(&file);
out << content; // 写入内容
file.close(); // 关闭文件
}
QString readFile(const QString &filename) {
QFile file(filename);
// 打开文件进行读取
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
qDebug() << "Could not open file for reading";
return QString();
}
QTextStream in(&file);
QString content = in.readAll(); // 读取文件内容
file.close();
return content;
}
int main() {
QString filename = "example.txt";
writeFile(filename, "Hello, Qt!\nThis is a test.");
QString content = readFile(filename);
qDebug() << "File content:" << content;
return 0;
}
QFile 检查文件是否存在
#include <QFile>
#include <QDebug>
bool fileExists(const QString &filename) {
QFile file(filename);
return file.exists(); // 检查文件是否存在
}
int main() {
QString filename = "example.txt";
if (fileExists(filename)) {
qDebug() << "File exists!";
} else {
qDebug() << "File does not exist!";
}
return 0;
}
复制和删除文件
#include <QFile>
#include <QDebug>
void copyFile(const QString &source, const QString &destination) {
QFile file(source);
if (file.exists()) {
if (file.copy(destination)) {
qDebug() << "File copied successfully!";
} else {
qDebug() << "Failed to copy file!";
}
} else {
qDebug() << "Source file does not exist!";
}
}
void deleteFile(const QString &filename) {
QFile file(filename);
if (file.remove()) {
qDebug() << "File deleted successfully!";
} else {
qDebug() << "Failed to delete file!";
}
}
int main() {
QString source = "example.txt";
QString destination = "example_copy.txt";
copyFile(source, destination);
deleteFile(destination);
return 0;
}