[QT]QDir和QFile的基本操作

QDir和QFile的用法实例:

#include <QDebug>
#include <QDir>
#include <QFileInfo>
#include <QString>
#include <QFile>
#include <QMessageBox>

void MainWindow::DirTest()
{
///1
// QDir mDir("D:/QT_Pro");
// qDebug()<< mDir.exists();

///2
// QDir mDir;
// foreach(QFileInfo mItem, mDir.drives())
// {
// qDebug()<<mItem.absoluteFilePath();
// }

//3
// QDir mDir;
// QString mPath = "D:/QT_Pro/ZZZ";
// if(!mDir.exists(mPath))
// {
// mDir.mkpath(mPath);
// qDebug()<<"Created";
// }
// else
// {
// qDebug()<<"Already exists";
// }

//4
QDir mDir("D:/QT_Pro");
foreach(QFileInfo mitm, mDir.entryInfoList())
{
if(mitm.isDir())
qDebug()<<"Dir :"<<mitm.absoluteFilePath();
if(mitm.isFile())
qDebug()<<"File:"<<mitm.absoluteFilePath();
}
}



void Write(QString Filename)
{
QFile mFile(Filename);
if(!mFile.open(QFile::WriteOnly | QFile::Text))
{
qDebug()<<"Write: open file error";
return;
}

QTextStream out(&mFile);
out << "hello world";

mFile.flush();
mFile.close();
}

void Read(QString Filename)
{
QFile mFile(Filename);
if(!mFile.open(QFile::ReadOnly | QFile::Text))
{
qDebug()<<"Write: open file error";
return;
}

QTextStream in(&mFile);
QString mText = in.readAll();
qDebug()<<mText;

mFile.flush();
mFile.close();
}

void MainWindow::FileTest()
{
QString mFilename = "D:/QT_Pro/text.txt";
// Write(mFilename);
Read(mFilename);
}



  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt中,可以使用QFileQDir、QFileInfo等类进行文件操作。 1. QFile类 QFile类用于读写文件,其常用函数如下: - QFile::open():打开文件; - QFile::close():关闭文件; - QFile::read():从文件中读取数据; - QFile::write():将数据写入文件; - QFile::exists():判断文件是否存在; - QFile::remove():删除文件; - QFile::rename():重命名文件。 示例代码: ``` #include <QFile> #include <QDebug> int main() { // 创建文件 QFile file("test.txt"); if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) { qDebug() << "文件打开失败!"; return -1; } // 写入数据 QString str = "Hello, world!"; file.write(str.toUtf8()); // 关闭文件 file.close(); // 读取数据 if(file.open(QIODevice::ReadOnly | QIODevice::Text)) { QByteArray data = file.readAll(); qDebug() << data; file.close(); } // 删除文件 QFile::remove("test.txt"); return 0; } ``` 2. QDirQDir类用于访问目录,其常用函数如下: - QDir::mkdir():创建目录; - QDir::rmdir():删除目录; - QDir::cd():进入子目录; - QDir::entryList():获取目录下的文件和子目录; - QDir::exists():判断目录是否存在; - QDir::remove():删除目录及其子目录和文件。 示例代码: ``` #include <QDir> #include <QDebug> int main() { // 创建目录 QDir dir; if(!dir.mkdir("test")) { qDebug() << "目录创建失败!"; return -1; } // 进入子目录 dir.cd("test"); // 创建文件 QFile file(dir.absoluteFilePath("test.txt")); if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) { qDebug() << "文件打开失败!"; return -1; } QString str = "Hello, world!"; file.write(str.toUtf8()); file.close(); // 获取目录下的文件和子目录 QStringList list = dir.entryList(); qDebug() << list; // 删除目录及其子目录和文件 if(dir.exists()) { dir.removeRecursively(); } return 0; } ``` 3. QFileInfo类 QFileInfo类用于获取文件信息,其常用函数如下: - QFileInfo::exists():判断文件是否存在; - QFileInfo::size():获取文件大小; - QFileInfo::created():获取文件创建时间; - QFileInfo::lastModified():获取文件最后修改时间。 示例代码: ``` #include <QFileInfo> #include <QDebug> int main() { // 获取文件信息 QFileInfo info("test.txt"); if(info.exists()) { qDebug() << "文件大小:" << info.size() << "字节"; qDebug() << "文件创建时间:" << info.created().toString("yyyy-MM-dd HH:mm:ss"); qDebug() << "文件最后修改时间:" << info.lastModified().toString("yyyy-MM-dd HH:mm:ss"); } else { qDebug() << "文件不存在!"; } return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值