![]() |
| ||
Classes - Annotated - Tree - Functions - Home - Structure |
The QFileInfo class provides system-independent file information. More...
#include <qfileinfo.h>
QFileInfo provides information about a file's name and position (path) in the file system, its access rights and whether it is a directory or a symbolic link. Its size and last modified/read times are also available.
To speed up performance, QFileInfo caches information about the file. Because files can be changed by other users or programs, or even by other parts of the same program, there is a function that refreshes the file information: refresh(). If you want a QFileInfo to access the file system every time you request information from it, you can call the function setCaching( FALSE ).
A QFileInfo can point to a file by 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 whether a QFileInfo is using a relative or an absolute file path. You can call the function convertToAbs() to convert a relative QFileInfo to an absolute one.
If you need to read and traverse directories, see the QDir class.
See also bool, setFile(QString, ), isRelative(), QDir::setCurrent() and QDir::isRelativePath().
If the file has a relative path, the QFileInfo will also have one.
See also isRelative().
If the directory has a relative path, the QFileInfo will also have one.
See also isRelative().
The absolute path name is the file name including the absolute path. If the QFileInfo is absolute (i.e. not relative) this function will return the same string as filePath().
Note that this function can be time-consuming under UNIX. (in the order of milliseconds on a 486 DX2/66 running Linux).
See also isRelative() and filePath().
Examples: biff/biff.cpp and fileiconview/qfileiconview.cpp.
The base name consists of all characters in the file name up to (but not including) the first '.' character. The path is not included.
Example:
QFileInfo fi( "/tmp/abdomen.lower" ); QString base = fi.baseName(); // base = "abdomen"
See also fileName() and extension().
See also setCaching() and refresh().
If it is already absolute, nothing is done.
See also filePath() and isRelative().
If the QFileInfo is relative and absPath is FALSE, the QDir will be relative; otherwise it will be absolute.
See also dirPath(), filePath(), fileName() and isRelative().
Example: fileiconview/qfileiconview.cpp.
If absPath is TRUE an absolute path is always returned.
See also dir(), filePath(), fileName() and isRelative().
Example: fileiconview/qfileiconview.cpp.
Examples: biff/biff.cpp and i18n/main.cpp.
If complete is TRUE (the default), extension() returns the string of all characters in the file name after (but not including) the first '.' character. For a file named "archive.tar.gz", this returns "tar.gz".
If complete is FALSE, extension() returns the string of all characters in the file name after (but not including) the last '.' character. For a file named "archive.tar.gz", this returns "gz".
Example:
QFileInfo fi( "lex.yy.c" ); QString ext = fi.extension(); // ext = "yy.c" QString ext = fi.extension( FALSE ); // ext = "c"
See also fileName() and baseName().
Example: qdir/qdir.cpp.
Example:
QFileInfo fi( "/tmp/abdomen.lower" ); QString name = fi.fileName(); // name = "abdomen.lower"
See also isRelative(), filePath(), baseName() and extension().
Examples: dirview/dirview.cpp and fileiconview/qfileiconview.cpp.
See also isRelative() and absFilePath().
Examples: dirview/main.cpp and fileiconview/qfileiconview.cpp.
On systems where files do not have groups this function always returns 0.
Note that this function can be time-consuming under UNIX (in the order of milliseconds on a 486 DX2/66 running Linux).
See also groupId(), owner() and ownerId().
On systems where files do not have groups this function always returns ((uind) -2).
See also group(), owner() and ownerId().
See also isFile() and isSymLink().
Examples: dirview/dirview.cpp and fileiconview/qfileiconview.cpp.
See also isReadable(), isWritable() and permission().
See also isDir() and isSymLink().
Examples: dirview/dirview.cpp, fileiconview/qfileiconview.cpp and qdir/qdir.cpp.
See also isWritable(), isExecutable() and permission().
See also isFile(), isDir() and readLink().
Examples: dirview/dirview.cpp and fileiconview/qfileiconview.cpp.
See also isReadable(), isExecutable() and permission().
See also lastRead().
Example: biff/biff.cpp.
On systems that do not support last read times, the modification time is returned.
See also lastModified().
Example: biff/biff.cpp.
On systems where files do not have owners this function returns 0.
Note that this function can be time-consuming under UNIX. (in the order of milliseconds on a 486 DX2/66 running Linux).
See also ownerId(), group() and groupId().
On systems where files do not have owners this function returns ((uint) -2).
See also owner(), group() and groupId().
Tests for file permissions. The permissionSpec argument can be several flags of type PermissionSpec or'ed together to check for permission combinations.
On systems where files do not have permissions this function always returns TRUE.
Example:
QFileInfo fi( "/tmp/tonsils" ); if ( fi.permission( QFileInfo::WriteUser | QFileInfo::ReadGroup ) ) qWarning( "Tonsils can be changed by me, and the group can read them."); if ( fi.permission( QFileInfo::WriteGroup | QFileInfo::WriteOther ) ) qWarning( "Danger! Tonsils can be changed by the group or others!" );
See also isReadable(), isWritable() and isExecutable().
This name may not represent an existing file; it is only a string. QFileInfo::exists() returns TRUE if the symlink points to an existing file.
See also exists(), isSymLink(), isDir() and isFile().
See also setCaching().
When caching is enabled, QFileInfo reads the file information the first time it's needed, but generally not later.
Caching is enabled by default.
See also refresh() and caching().
The string given can be an absolute or a relative file path. Absolute file paths begin with the directory separator (e.g. '/' under UNIX) 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.
Example:
#include <qfileinfo.h> #include <qdir.h> void test() { QString absolute = "/liver/aorta"; QString relative = "liver/aorta"; QFileInfo fi1( absolute ); QFileInfo fi2( relative ); QDir::setCurrent( QDir::rootDirPath() ); // fi1 and fi2 now point to the same file QDir::setCurrent( "/tmp" ); // fi1 now points to "/liver/aorta", // while fi2 points to "/tmp/liver/aorta" }
See also isRelative(), QDir::setCurrent() and QDir::isRelativePath().
Example: biff/biff.cpp.
If the file has a relative path, the QFileInfo will also have one.
See also isRelative().
If the directory has a relative path, the QFileInfo will also have one.
See also isRelative().
Example: qdir/qdir.cpp.
Search the documentation, FAQ, qt-interest archive and more (uses
www.trolltech.com):
This file is part of the Qt toolkit, copyright © 1995-2000 Trolltech, all rights reserved.
Copyright © 2000 Trolltech | Trademarks | Qt version main-beta1
|