QDir Class Reference


QDir can traverse the directory structure and read the contents of directories in a platform-independent way. More...

#include <qdir.h>

List of all member functions.

Public Members

Static Public Members


Detailed Description

QDir can traverse the directory structure and read the contents of directories in a platform-independent way.

A QDir can point to a file using either a relative or an absolute file path. Absolute file paths begin with the directory separator ('/') or a drive specification (not applicable to UNIX). Relative file names begin with a directory name or a file name and specify a path relative to the current directory.

An example of an absolute path is the string "/tmp/quartz", a relative path might look like "src/fatlib". You can use the function isRelative() to check if a QDir is using a relative or an absolute file path. You can call the function convertToAbs() to convert a relative QDir to an absolute one.

The directory "example" under the current directory is checked for existence in the example below:

    QDir d( "example" );                        // "./example"
    if ( !d.exists() )
        warning( "Cannot find the example directory" );

If you always use '/' as a directory separator, Qt will translate your paths to conform to the underlying operating system.

cd() and cdUp() can be used to navigate the directory tree. Note that the logical cd and cdUp operations are not performed if the new directory does not exist.

Example:

    QDir d = QDir::root();                      // "/"
    if ( !d.cd("tmp") ) {                       // "/tmp"
        warning( "Cannot find the \"/tmp\" directory" );
    } else {
        QFile f( d.filePath("ex1.txt") );       // "/tmp/ex1.txt"
        if ( !f.open(IO_ReadWrite) )
            warning( "Cannot create the file %s", f.name() );
    }

To read the contents of a directory you can use the entryList() and entryInfoList() functions.

Example:

    #include <stdio.h>
    #include <qdir.h>

    //
    // This program scans the current directory and lists all files
    // that are not symbolic links, sorted by size with the smallest files
    // first.
    //

    int main( int argc, char **argv )
    {
        QDir d;
        d.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks );
        d.setSorting( QDir::Size | QDir::Reversed );

        const QFileInfoList *list = d.entryInfoList();
        QFileInfoListIterator it( *list );      // create list iterator
        QFileInfo *fi;                          // pointer for traversing

        printf( "     BYTES FILENAME\n" );      // print header
        while ( (fi=it.current()) ) {           // for each file...
            printf( "%10li %s\n", fi->size(), fi->fileName().data() );
            ++it;                               // goto next list element
        }
    }

Member Function Documentation

QDir::QDir ()

Constructs a QDir pointing to the current directory.

See also: currentDirPath().

QDir::QDir ( const QDir & d )

Constructs a QDir that is a copy of the given directory.

See also: operator=().

QDir::QDir ( const char * path, const char * nameFilter = 0, int sortSpec = Name | IgnoreCase, int filterSpec = All )

Constructs a QDir.

Arguments:

Most of these arguments (except path) have optional values.

Example:

    // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );
    for ( int i=0;     // lists all files in /tmp

    QDir d( "/tmp" );