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

  • 相关阅读:
    切换JDK版本时修改JAVA_HOME环境变量不生效
    Java项目如何生成可执行jar包、exe文件
    Java去除字符串中空格的方法详解
    JAVA SWT的MessageBox对话框
    Java秒杀实战 (六) 服务级高并发秒杀优化(RabbitMQ+接口优化)
    DOM Event reference
    Chrome和Firefox的event显示
    What Causes Stock Prices to Change?
    Declaring variables without var keyword
    Do I have to return something in javascript function?
  • 原文地址:https://www.cnblogs.com/yxnrh/p/13365256.html
Copyright © 2011-2022 走看看