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  , 还有很多读写的接口函数

  • 相关阅读:
    四个好看的CSS样式表格
    POJ 2255 Tree Recovery
    黑马程序猿_2014 7月 我使用多线程体验
    Dos命令将合并两个文本文件的内容
    栈和堆之间的差(他转身无数的文章)
    【Espruino】NO.12 加速度计演示
    MySQL进口.sql文件和常用命令
    typedef和define具体的具体差异
    muduo网络图书馆评测
    Web采矿技术
  • 原文地址:https://www.cnblogs.com/yxnrh/p/13365256.html
Copyright © 2011-2022 走看看