Qt 32 Qt中的文件操作 QFile文件, QFileInfo文件属性,QTemporaryFile临时文件

学习自唐佐林老师的Qt


在这里插入图片描述在这里插入图片描述连续的存储空间:有可能是内存,硬盘,串口,USB口等

在这里插入图片描述
顺序存取设备:如 连接到串口上面的设备

随机存取设备:文件操作

IO 操作的本质就是对连续空间的读写,该连续空间可以是内存空间,也可以是外存空间。文件是保存在外部空间中的连续数据,即硬盘,文件是保存在硬盘上面的。所以文件操作 就是对硬盘上连续空间进行数据的读写,并且可以在这片连续空间当中任意位置进行定位。 文件操作是一种随机设备的存取。

在这里插入图片描述
QFile : 文件IO
QBuffer : 内存中一片连续的内存空间
QAbstractSocket:网络编程
QProcess:进程间通信

在这里插入图片描述
QFile 对象实际上代表的是硬盘上的一个文件

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

实验1:控制台项目,QFile, QFileInfo使用

#include <QtCore/QCoreApplication>
#include <QFile>
#include <QByteArray>
#include <QDebug>
#include <QFileInfo>
#include <QDateTime>
//参数:文件路径
void write(QString f)
{
    //定义一个文件对象,代表硬盘上的一个文件
    QFile file(f);
    //以只写的方式打开,写入文本. 无则创建 有则清空
    if( file.open(QIODevice::WriteOnly | QIODevice::Text) )
    {
        //写入内容
        file.write("D.T.Software\n");
        file.write("Delphi Tang\n");
        //关闭文件
        file.close();
    }
}
//读
void read(QString f)
{
    //定义一个文件对象,代表硬盘上的一个文件
    QFile file(f);
    //以只写的方式打开,读出文本
    if( file.open(QIODevice::ReadOnly | QIODevice::Text) )
    {
        //字节数组 接受 读取的信息
        //file.readLine():读取一行
        //file.readAll():读取全部
        //file.read(n):读取n个字符
        QByteArray ba = file.readLine();
        QString s(ba);//字节数组中的数据转换为字符串
        qDebug() << s;
        file.close();
    }
}
//打印文件属性信息
void info(QString f)
{
    //定义一个文件对象,代表硬盘上的一个文件
    QFile file(f);
    //读取文件属性
    QFileInfo info(file);
    qDebug() << info.exists();
    qDebug() << info.isFile();
    qDebug() << info.isReadable();
    qDebug() << info.isWritable();
    qDebug() << info.created();
    qDebug() << info.lastRead();
    qDebug() << info.lastModified();
    qDebug() << info.path();
    qDebug() << info.fileName();
    qDebug() << info.suffix();
    qDebug() << info.size();
}
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    write("D:/work/QT_TEST/qt/code/32-1/test.txt");
    read("D:/work/QT_TEST/qt/code/32-1/test.txt");
    info("D:/work/QT_TEST/qt/code/32-1/test.txt");
    
    return a.exec();
}

实验2 QTemporaryFile 临时文件使用

#include <QtCore/QCoreApplication>
#include <QTemporaryFile>
#include <QFileInfo>
#include <QDebug>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    //创建临时文件对象,不需要指定文件名!
    QTemporaryFile tempFile;
    //打开临时文件,不需要指定读写方式
    if( tempFile.open() )
    {
        tempFile.write("D.T.Software");
        tempFile.close();
    }
    //获取临时文件属性
    QFileInfo info(tempFile);
    qDebug() << info.isFile();
    qDebug() << info.path();
    qDebug() << info.fileName();
    
    return a.exec();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux老A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值