zoukankan      html  css  js  c++  java
  • QT(04)文件管理

    目录操作 QDir、QFileInfo Linux下的目录     Windows下的目录

       QDir.currentPath();  返回当前路径      返回当前目录

       QDir.homePath(); 返回用户目录      C:/Users/Administrator

       QDir.rootPath();  返回根目录       C:/

       QDir.tempPath();  返回临时目录     C:/Users/Administrator/AppData/Local/Temp

      切换目录

       QDir.cd("path");

    QDir mDir("C:/Qt/workspace/lesson3");
    foreach (QFileInfo mItem, mDir.entryInfoList())
    {
        if(mItem.isDir())
            qDebug() <<" Dir "<< mItem.filePath();
        else if(mItem.isFile())
            qDebug() <<" File "<< mItem.filePath();
    }
    文件夹遍历
    QDir mDir(QDir::current());
    QStringList filters;
    filters<<"*.cpp"<<"*.h"<<"*.txt"<<".pro";
    mDir.setNameFilters(filters);
    qDebug()<<mDir.entryList(filters, QDir::Files);    //开始过滤
    文件过滤器,只看指定类型的文件

    文件操作 QFile QDir、QFileInfo

      读写的方式打开文件   file.open(QIODevice::ReadWrite | QIODevice::Text | QIODevice::Append )

      写入一行数据 file.write("hello world ");

      QFile->seek(offset); 文件偏移值,默认是0  但是QIODevice::Append会把offset偏移到文件末尾

      读取一行数据 file.readLine(); 如果是读写的方式打开 ,读的时候要确保文件的 seek(offset) 是0 ,再利用 while( ! file.atEnd()) 把所有行都读出来

    QFile file("test.txt");
    if( ! file.open(QIODevice::ReadWrite | QIODevice::Text | QIODevice::Append  ))
    {
        qDebug()<<"open fail";
    }
    file.write("hello world
    ");
    file.seek(0);
    while( ! file.atEnd())
    {
        qDebug()<<file.readLine();
    }
    file.close();
    test

      读取全部 file.readAll(); 一样要确保文件的 seek(offset) 是0  , 还有很多读写的接口函数

  • 相关阅读:
    [CentOS5]安装VirtualBox
    [Java]一则自定义的XStream转换器,主要用于POJO XML反序列化为Map/List
    [CentOS5]开启vsftpd中本地用户的上传权限
    [CSS]强制TD不换行
    [CentOS5]快速关闭SeLinux
    [vba]获取PPT幻灯片中的所有标题
    [VBA]批量转换xls为csv
    [OTHER]玩具的报复 绿化版 注册表
    [CentOS]在vsftpd中为本地用户指定默认目录
    递归读取输出无限分类目录
  • 原文地址:https://www.cnblogs.com/yxnrh/p/13365256.html
Copyright © 2011-2022 走看看