<class name="QFileInfo" doc="/**
&lt;p&gt;The &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; class provides system-independent file information.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; provides information about a file's name and position (path) in the file system, its access rights and whether it is a directory or symbolic link, etc. The file's size and last modified/read times are also available. &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; can also be used to obtain information about a Qt &lt;a href=&quot;%2E%2E/resources.html#resource-system&quot;&gt;resource&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; can point to a file with either a relative or an absolute file path. Absolute file paths begin with the directory separator &amp;quot;/&amp;quot; (or with a drive specification on Windows). Relative file names begin with a directory name or a file name and specify a path relative to the current working directory. An example of an absolute path is the string &amp;quot;/tmp/quartz&amp;quot;. A relative path might look like &amp;quot;src/fatlib&amp;quot;. You can use the function &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt; to check whether a &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; is using a relative or an absolute file path. You can call the function &lt;a href=&quot;QFileInfo.html#makeAbsolute()&quot;&gt;&lt;tt&gt;makeAbsolute&lt;/tt&gt;&lt;/a&gt; to convert a relative &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt;'s path to an absolute path.&lt;/p&gt;
&lt;p&gt;The file that the &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; works on is set in the constructor or later with &lt;a href=&quot;QFileInfo.html#setFile(com.trolltech.qt.core.QFile)&quot;&gt;&lt;tt&gt;setFile&lt;/tt&gt;&lt;/a&gt;. Use &lt;a href=&quot;QFileInfo.html#exists()&quot;&gt;&lt;tt&gt;exists&lt;/tt&gt;&lt;/a&gt; to see if the file exists and &lt;a href=&quot;QFileInfo.html#size()&quot;&gt;&lt;tt&gt;size&lt;/tt&gt;&lt;/a&gt; to get its size.&lt;/p&gt;
&lt;p&gt;The file's type is obtained with &lt;a href=&quot;QFileInfo.html#isFile()&quot;&gt;&lt;tt&gt;isFile&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QFileInfo.html#isDir()&quot;&gt;&lt;tt&gt;isDir&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QFileInfo.html#isSymLink()&quot;&gt;&lt;tt&gt;isSymLink&lt;/tt&gt;&lt;/a&gt;. The &lt;a href=&quot;QFileInfo.html#symLinkTarget()&quot;&gt;&lt;tt&gt;symLinkTarget&lt;/tt&gt;&lt;/a&gt; function provides the name of the file the symlink points to.&lt;/p&gt;
&lt;p&gt;On Unix (including Mac OS X), the symlink has the same &lt;a href=&quot;QFileInfo.html#size()&quot;&gt;&lt;tt&gt;size&lt;/tt&gt;&lt;/a&gt; has the file it points to, because Unix handles symlinks transparently; similarly, opening a symlink using &lt;a href=&quot;QFile.html&quot;&gt;&lt;tt&gt;QFile&lt;/tt&gt;&lt;/a&gt; effectively opens the link's target. For example:&lt;/p&gt;
&lt;pre&gt;    #ifdef Q_OS_UNIX

    QFileInfo info1(&amp;quot;/home/bob/bin/untabify&amp;quot;);
    info1.isSymLink();          &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns true
    info1.absoluteFilePath();   &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns &amp;quot;/home/bob/bin/untabify&amp;quot;
    info1.size();               &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns 56201
    info1.symLinkTarget();      &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns &amp;quot;/opt/pretty++/bin/untabify&amp;quot;

    QFileInfo info2(info1.symLinkTarget());
    info1.isSymLink();          &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns false
    info1.absoluteFilePath();   &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns &amp;quot;/opt/pretty++/bin/untabify&amp;quot;
    info1.size();               &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns 56201

    #endif&lt;/pre&gt;
&lt;p&gt;On Windows, symlinks (shortcuts) are &lt;tt&gt;.lnk&lt;/tt&gt; files. The reported &lt;a href=&quot;QFileInfo.html#size()&quot;&gt;&lt;tt&gt;size&lt;/tt&gt;&lt;/a&gt; is that of the symlink (not the link's target), and opening a symlink using &lt;a href=&quot;QFile.html&quot;&gt;&lt;tt&gt;QFile&lt;/tt&gt;&lt;/a&gt; opens the &lt;tt&gt;.lnk&lt;/tt&gt; file. For example:&lt;/p&gt;
&lt;pre&gt;    #ifdef Q_OS_WIN

    QFileInfo info1(&amp;quot;C:\\Documents and Settings\\Bob\\untabify.lnk&amp;quot;);
    info1.isSymLink();          &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns true
    info1.absoluteFilePath();   &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns &amp;quot;C:/Documents and Settings/Bob/untabify.lnk&amp;quot;
    info1.size();               &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns 743
    info1.symLinkTarget();      &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns &amp;quot;C:/Pretty++/untabify&amp;quot;

    QFileInfo info2(info1.symLinkTarget());
    info1.isSymLink();          &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns false
    info1.absoluteFilePath();   &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns &amp;quot;C:/Pretty++/untabify&amp;quot;
    info1.size();               &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; returns 63942

    #endif&lt;/pre&gt;
&lt;p&gt;Elements of the file's name can be extracted with &lt;a href=&quot;QFileInfo.html#path()&quot;&gt;&lt;tt&gt;path&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QFileInfo.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;. The &lt;a href=&quot;QFileInfo.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;'s parts can be extracted with &lt;a href=&quot;QFileInfo.html#baseName()&quot;&gt;&lt;tt&gt;baseName&lt;/tt&gt;&lt;/a&gt; and extension(). &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; objects to directories created by Qt classes will not have a trailing file separator. If you wish to use trailing separators in your own file info objects, just append one to the file name given to the constructors or &lt;a href=&quot;QFileInfo.html#setFile(com.trolltech.qt.core.QFile)&quot;&gt;&lt;tt&gt;setFile&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The file's dates are returned by &lt;a href=&quot;QFileInfo.html#created()&quot;&gt;&lt;tt&gt;created&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QFileInfo.html#lastModified()&quot;&gt;&lt;tt&gt;lastModified&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QFileInfo.html#lastRead()&quot;&gt;&lt;tt&gt;lastRead&lt;/tt&gt;&lt;/a&gt;. Information about the file's access permissions is obtained with &lt;a href=&quot;QFileInfo.html#isReadable()&quot;&gt;&lt;tt&gt;isReadable&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QFileInfo.html#isWritable()&quot;&gt;&lt;tt&gt;isWritable&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QFileInfo.html#isExecutable()&quot;&gt;&lt;tt&gt;isExecutable&lt;/tt&gt;&lt;/a&gt;. The file's ownership is available from &lt;a href=&quot;QFileInfo.html#owner()&quot;&gt;&lt;tt&gt;owner&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QFileInfo.html#ownerId()&quot;&gt;&lt;tt&gt;ownerId&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QFileInfo.html#group()&quot;&gt;&lt;tt&gt;group&lt;/tt&gt;&lt;/a&gt; and &lt;a href=&quot;QFileInfo.html#groupId()&quot;&gt;&lt;tt&gt;groupId&lt;/tt&gt;&lt;/a&gt;. You can examine a file's permissions and ownership in a single statement using the &lt;a href=&quot;QFileInfo.html#permission(com.trolltech.qt.core.QFile.Permissions)&quot;&gt;&lt;tt&gt;permission&lt;/tt&gt;&lt;/a&gt; function.&lt;/p&gt;
&lt;a name=&quot;performance-issues&quot;&gt;&lt;/a&gt;
&lt;h3&gt;Performance Issues&lt;/h3&gt;
&lt;p&gt;Some of &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt;'s functions query the file system, but for performance reasons, some functions only operate on the file name itself. For example: To return the absolute path of a relative file name, &lt;a href=&quot;QFileInfo.html#absolutePath()&quot;&gt;&lt;tt&gt;absolutePath&lt;/tt&gt;&lt;/a&gt; has to query the file system. The &lt;a href=&quot;QFileInfo.html#path()&quot;&gt;&lt;tt&gt;path&lt;/tt&gt;&lt;/a&gt; function, however, can work on the file name directly, and so it is faster.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; To speed up performance, &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; caches information about the file.&lt;/p&gt;
&lt;p&gt;To speed up performance, &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; 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: &lt;a href=&quot;QFileInfo.html#refresh()&quot;&gt;&lt;tt&gt;refresh&lt;/tt&gt;&lt;/a&gt;. If you want to switch off a &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt;'s caching and force it to access the file system every time you request information from it call &lt;a href=&quot;QFileInfo.html#setCaching(boolean)&quot;&gt;&lt;tt&gt;setCaching&lt;/tt&gt;&lt;/a&gt;(false).&lt;/p&gt;

@see &lt;a href=&quot;QDir.html&quot;&gt;&lt;tt&gt;QDir&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFile.html&quot;&gt;&lt;tt&gt;QFile&lt;/tt&gt;&lt;/a&gt; */">
    <method name="public QFileInfo(com.trolltech.qt.core.QDir dir, java.lang.String file)" doc="/**
&lt;p&gt;Constructs a new &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; that gives information about the given &lt;tt&gt;file&lt;/tt&gt; in the directory &lt;tt&gt;dir&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;If &lt;tt&gt;dir&lt;/tt&gt; has a relative path, the &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; will also have a relative path.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public QFileInfo(com.trolltech.qt.core.QFile file)" doc="/**
&lt;p&gt;Constructs a new &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; that gives information about file &lt;tt&gt;file&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;If the &lt;tt&gt;file&lt;/tt&gt; has a relative path, the &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; will also have a relative path.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public QFileInfo(com.trolltech.qt.core.QFileInfo fileinfo)" doc="/**
&lt;p&gt;Constructs a new &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; that is a copy of the given &lt;tt&gt;fileinfo&lt;/tt&gt;.&lt;/p&gt;
 */"/>
    <method name="public QFileInfo(java.lang.String file)" doc="/**
&lt;p&gt;Constructs a new &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; that gives information about the given file. The &lt;tt&gt;file&lt;/tt&gt; can also include an absolute or relative path.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#setFile(com.trolltech.qt.core.QFile)&quot;&gt;&lt;tt&gt;setFile&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;QDir::setCurrent&lt;/tt&gt;
@see &lt;tt&gt;QDir::isRelativePath&lt;/tt&gt; */"/>
    <method name="public QFileInfo()" doc="/**
&lt;p&gt;Constructs an empty &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; object.&lt;/p&gt;
&lt;p&gt;Note that an empty &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; object contain no file reference.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#setFile(com.trolltech.qt.core.QFile)&quot;&gt;&lt;tt&gt;setFile&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QDir absoluteDir()" doc="/**
&lt;p&gt;Returns the file's absolute path as a &lt;a href=&quot;QDir.html&quot;&gt;&lt;tt&gt;QDir&lt;/tt&gt;&lt;/a&gt; object.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#dir()&quot;&gt;&lt;tt&gt;dir&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String absoluteFilePath()" doc="/**
&lt;p&gt;Returns the absolute path including the file name.&lt;/p&gt;
&lt;p&gt;The absolute path name consists of the full path and the file name. On Unix this will always begin with the root, '/', directory. On Windows this will always begin 'D:/' where D is a drive letter, except for network shares that are not mapped to a drive letter, in which case the path will begin '//sharename/'.&lt;/p&gt;
&lt;p&gt;This function returns the same as &lt;a href=&quot;QFileInfo.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;, unless &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt; is true.&lt;/p&gt;
&lt;p&gt;If the &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; is empty it returns QDir::currentPath().&lt;/p&gt;
&lt;p&gt;This function can be time consuming under Unix (in the order of milliseconds).&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String absolutePath()" doc="/**
&lt;p&gt;Returns the file's path absolute path. This doesn't include the file name.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#dir()&quot;&gt;&lt;tt&gt;dir&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#path()&quot;&gt;&lt;tt&gt;path&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String baseName()" doc="/**
&lt;p&gt;Returns the base name of the file without the path.&lt;/p&gt;
&lt;p&gt;The base name consists of all characters in the file up to (but not including) the &lt;i&gt;first&lt;/i&gt; '.' character.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;    QFileInfo fi(&amp;quot;/tmp/archive.tar.gz&amp;quot;);
    QString base = fi.baseName();  &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; base = &amp;quot;archive&amp;quot;&lt;/pre&gt;
&lt;p&gt;The base name of a file is computed equally on all platforms, independent of file naming conventions (e.g&amp;#x2e;, &amp;quot;.bashrc&amp;quot; on Unix has an empty base name, and the suffix is &amp;quot;bashrc&amp;quot;).&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#suffix()&quot;&gt;&lt;tt&gt;suffix&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#completeSuffix()&quot;&gt;&lt;tt&gt;completeSuffix&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#completeBaseName()&quot;&gt;&lt;tt&gt;completeBaseName&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String bundleName()" doc="/**
&lt;p&gt;Returns the name of the bundle.&lt;/p&gt;
&lt;p&gt;On Mac OS X this returns the proper localized name for a bundle if the path &lt;a href=&quot;QFileInfo.html#isBundle()&quot;&gt;&lt;tt&gt;isBundle&lt;/tt&gt;&lt;/a&gt;. On all other platforms an empty &lt;a href=&quot;%2E%2E/porting4.html#qstring&quot;&gt;&lt;tt&gt;QString&lt;/tt&gt;&lt;/a&gt; is returned.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;    QFileInfo fi(&amp;quot;/Applications/Safari.app&amp;quot;);
    QString bundle = fi.bundleName();                &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; name = &amp;quot;Safari&amp;quot;&lt;/pre&gt;

@see &lt;a href=&quot;QFileInfo.html#isBundle()&quot;&gt;&lt;tt&gt;isBundle&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#baseName()&quot;&gt;&lt;tt&gt;baseName&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;extension&lt;/tt&gt; */"/>
    <method name="public final boolean caching()" doc="/**
&lt;p&gt;Returns true if caching is enabled; otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#setCaching(boolean)&quot;&gt;&lt;tt&gt;setCaching&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#refresh()&quot;&gt;&lt;tt&gt;refresh&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String canonicalFilePath()" doc="/**
&lt;p&gt;Returns the canonical path, i.e&amp;#x2e; a path without symbolic links or redundant &amp;quot;.&amp;quot; or &amp;quot;..&amp;quot; elements.&lt;/p&gt;
&lt;p&gt;On systems that do not have symbolic links this function will always return the same string that &lt;a href=&quot;QFileInfo.html#absoluteFilePath()&quot;&gt;&lt;tt&gt;absoluteFilePath&lt;/tt&gt;&lt;/a&gt; returns. If the canonical path does not exist (normally due to dangling symbolic links) &lt;a href=&quot;QFileInfo.html#canonicalFilePath()&quot;&gt;&lt;tt&gt;canonicalFilePath&lt;/tt&gt;&lt;/a&gt; returns an empty string.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#absoluteFilePath()&quot;&gt;&lt;tt&gt;absoluteFilePath&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String canonicalPath()" doc="/**
&lt;p&gt;Returns the canonical path, i.e&amp;#x2e; a path without symbolic links or redundant &amp;quot;.&amp;quot; or &amp;quot;..&amp;quot; elements.&lt;/p&gt;
&lt;p&gt;On systems that do not have symbolic links this function will always return the same string that &lt;a href=&quot;QFileInfo.html#absolutePath()&quot;&gt;&lt;tt&gt;absolutePath&lt;/tt&gt;&lt;/a&gt; returns. If the canonical path does not exist (normally due to dangling symbolic links) &lt;a href=&quot;QFileInfo.html#canonicalPath()&quot;&gt;&lt;tt&gt;canonicalPath&lt;/tt&gt;&lt;/a&gt; returns an empty string.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#absolutePath()&quot;&gt;&lt;tt&gt;absolutePath&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String completeBaseName()" doc="/**
&lt;p&gt;Returns the complete base name of the file without the path.&lt;/p&gt;
&lt;p&gt;The complete base name consists of all characters in the file up to (but not including) the &lt;i&gt;last&lt;/i&gt; '.' character.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;    QFileInfo fi(&amp;quot;/tmp/archive.tar.gz&amp;quot;);
    QString base = fi.completeBaseName();  &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; base = &amp;quot;archive.tar&amp;quot;&lt;/pre&gt;

@see &lt;a href=&quot;QFileInfo.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#suffix()&quot;&gt;&lt;tt&gt;suffix&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#completeSuffix()&quot;&gt;&lt;tt&gt;completeSuffix&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#baseName()&quot;&gt;&lt;tt&gt;baseName&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String completeSuffix()" doc="/**
&lt;p&gt;Returns the complete suffix of the file.&lt;/p&gt;
&lt;p&gt;The complete suffix consists of all characters in the file after (but not including) the first '.'&amp;#x2e;&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;    QFileInfo fi(&amp;quot;/tmp/archive.tar.gz&amp;quot;);
    QString ext = fi.completeSuffix();  &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; ext = &amp;quot;tar.gz&amp;quot;&lt;/pre&gt;

@see &lt;a href=&quot;QFileInfo.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#suffix()&quot;&gt;&lt;tt&gt;suffix&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#baseName()&quot;&gt;&lt;tt&gt;baseName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#completeBaseName()&quot;&gt;&lt;tt&gt;completeBaseName&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QDateTime created()" doc="/**
&lt;p&gt;Returns the date and time when the file was created.&lt;/p&gt;
&lt;p&gt;On most Unix systems, this function returns the time of the last status change. A status change occurs when the file is created, but it also occurs whenever the user writes or sets inode information (for example, changing the file permissions).&lt;/p&gt;
&lt;p&gt;If neither creation time nor &amp;quot;last status change&amp;quot; time are not available, returns the same as &lt;a href=&quot;QFileInfo.html#lastModified()&quot;&gt;&lt;tt&gt;lastModified&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#lastModified()&quot;&gt;&lt;tt&gt;lastModified&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#lastRead()&quot;&gt;&lt;tt&gt;lastRead&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QDir dir()" doc="/**
&lt;p&gt;Returns the path of the object's parent directory as a &lt;a href=&quot;QDir.html&quot;&gt;&lt;tt&gt;QDir&lt;/tt&gt;&lt;/a&gt; object.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; The &lt;a href=&quot;QDir.html&quot;&gt;&lt;tt&gt;QDir&lt;/tt&gt;&lt;/a&gt; returned always corresponds to the object's parent directory, even if the &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; represents a directory.&lt;/p&gt;

@see &lt;tt&gt;dirPath&lt;/tt&gt;
@see &lt;a href=&quot;QFileInfo.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#absoluteDir()&quot;&gt;&lt;tt&gt;absoluteDir&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean exists()" doc="/**
&lt;p&gt;Returns true if the file exists; otherwise returns false.&lt;/p&gt;
 */"/>
    <method name="public final java.lang.String fileName()" doc="/**
&lt;p&gt;Returns the name of the file, excluding the path.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;    QFileInfo fi(&amp;quot;/tmp/archive.tar.gz&amp;quot;);
    QString name = fi.fileName();                &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; name = &amp;quot;archive.tar.gz&amp;quot;&lt;/pre&gt;

@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#baseName()&quot;&gt;&lt;tt&gt;baseName&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;extension&lt;/tt&gt; */"/>
    <method name="public final java.lang.String filePath()" doc="/**
&lt;p&gt;Returns the file name, including the path (which may be absolute or relative).&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#absoluteFilePath()&quot;&gt;&lt;tt&gt;absoluteFilePath&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String group()" doc="/**
&lt;p&gt;Returns the group of the file. On Windows, on systems where files do not have groups, or if an error occurs, an empty string is returned.&lt;/p&gt;
&lt;p&gt;This function can be time consuming under Unix (in the order of milliseconds).&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#groupId()&quot;&gt;&lt;tt&gt;groupId&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#owner()&quot;&gt;&lt;tt&gt;owner&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#ownerId()&quot;&gt;&lt;tt&gt;ownerId&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int groupId()" doc="/**
&lt;p&gt;Returns the id of the group the file belongs to.&lt;/p&gt;
&lt;p&gt;On Windows and on systems where files do not have groups this function always returns (uint) -2.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#group()&quot;&gt;&lt;tt&gt;group&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#owner()&quot;&gt;&lt;tt&gt;owner&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#ownerId()&quot;&gt;&lt;tt&gt;ownerId&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isAbsolute()" doc="/**
&lt;p&gt;Returns true if the file path name is absolute, otherwise returns false if the path is relative.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isBundle()" doc="/**
&lt;p&gt;Returns true if this object points to a bundle or to a symbolic link to a bundle on Mac OS X; otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isDir()&quot;&gt;&lt;tt&gt;isDir&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isSymLink()&quot;&gt;&lt;tt&gt;isSymLink&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isFile()&quot;&gt;&lt;tt&gt;isFile&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isDir()" doc="/**
&lt;p&gt;Returns true if this object points to a directory or to a symbolic link to a directory; otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isFile()&quot;&gt;&lt;tt&gt;isFile&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isSymLink()&quot;&gt;&lt;tt&gt;isSymLink&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isBundle()&quot;&gt;&lt;tt&gt;isBundle&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isExecutable()" doc="/**
&lt;p&gt;Returns true if the file is executable; otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isReadable()&quot;&gt;&lt;tt&gt;isReadable&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isWritable()&quot;&gt;&lt;tt&gt;isWritable&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#permission(com.trolltech.qt.core.QFile.Permissions)&quot;&gt;&lt;tt&gt;permission&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isFile()" doc="/**
&lt;p&gt;Returns true if this object points to a file or to a symbolic link to a file. Returns false if the object points to something which isn't a file, such as a directory.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isDir()&quot;&gt;&lt;tt&gt;isDir&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isSymLink()&quot;&gt;&lt;tt&gt;isSymLink&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isBundle()&quot;&gt;&lt;tt&gt;isBundle&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isHidden()" doc="/**
&lt;p&gt;Returns true if this is a `hidden' file; otherwise returns false.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This function returns true for the special entries &amp;quot;.&amp;quot; and &amp;quot;..&amp;quot; on Unix, even though QDir::entryList threats them as shown.&lt;/p&gt;
 */"/>
    <method name="public final boolean isReadable()" doc="/**
&lt;p&gt;Returns true if the user can read the file; otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isWritable()&quot;&gt;&lt;tt&gt;isWritable&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isExecutable()&quot;&gt;&lt;tt&gt;isExecutable&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#permission(com.trolltech.qt.core.QFile.Permissions)&quot;&gt;&lt;tt&gt;permission&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isRelative()" doc="/**
&lt;p&gt;Returns true if the file path name is relative, otherwise returns false if the path is absolute (e.g&amp;#x2e; under Unix a path is absolute if it begins with a &amp;quot;/&amp;quot;).&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isAbsolute()&quot;&gt;&lt;tt&gt;isAbsolute&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isRoot()" doc="/**
&lt;p&gt;Returns true if the object points to a directory or to a symbolic link to a directory, and that directory is the root directory; otherwise returns false.&lt;/p&gt;
 */"/>
    <method name="public final boolean isSymLink()" doc="/**
&lt;p&gt;Returns true if this object points to a symbolic link (or to a shortcut on Windows); otherwise returns false.&lt;/p&gt;
&lt;p&gt;On Unix (including Mac OS X), opening a symlink effectively opens the &lt;a href=&quot;QFileInfo.html#symLinkTarget()&quot;&gt;link's target&lt;/tt&gt;&lt;/a&gt;. On Windows, it opens the &lt;tt&gt;.lnk&lt;/tt&gt; file itself.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;    QFileInfo info(fileName);
    if (info.isSymLink())
        fileName = info.symLinkTarget();&lt;/pre&gt;

@see &lt;a href=&quot;QFileInfo.html#isFile()&quot;&gt;&lt;tt&gt;isFile&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isDir()&quot;&gt;&lt;tt&gt;isDir&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#symLinkTarget()&quot;&gt;&lt;tt&gt;symLinkTarget&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean isWritable()" doc="/**
&lt;p&gt;Returns true if the user can write to the file; otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isReadable()&quot;&gt;&lt;tt&gt;isReadable&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isExecutable()&quot;&gt;&lt;tt&gt;isExecutable&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#permission(com.trolltech.qt.core.QFile.Permissions)&quot;&gt;&lt;tt&gt;permission&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QDateTime lastModified()" doc="/**
&lt;p&gt;Returns the date and time when the file was last modified.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#created()&quot;&gt;&lt;tt&gt;created&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#lastRead()&quot;&gt;&lt;tt&gt;lastRead&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QDateTime lastRead()" doc="/**
&lt;p&gt;Returns the date and time when the file was last read (accessed).&lt;/p&gt;
&lt;p&gt;On platforms where this information is not available, returns the same as &lt;a href=&quot;QFileInfo.html#lastModified()&quot;&gt;&lt;tt&gt;lastModified&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#created()&quot;&gt;&lt;tt&gt;created&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#lastModified()&quot;&gt;&lt;tt&gt;lastModified&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean makeAbsolute()" doc="/**
&lt;p&gt;Converts the file's path to an absolute path if it is not already in that form. Returns true to indicate that the path was converted; otherwise returns false to indicate that the path was already absolute.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String owner()" doc="/**
&lt;p&gt;Returns the owner of the file. On systems where files do not have owners, or if an error occurs, an empty string is returned.&lt;/p&gt;
&lt;p&gt;This function can be time consuming under Unix (in the order of milliseconds).&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#ownerId()&quot;&gt;&lt;tt&gt;ownerId&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#group()&quot;&gt;&lt;tt&gt;group&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#groupId()&quot;&gt;&lt;tt&gt;groupId&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final int ownerId()" doc="/**
&lt;p&gt;Returns the id of the owner of the file.&lt;/p&gt;
&lt;p&gt;On Windows and on systems where files do not have owners this function returns ((uint) -2).&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#owner()&quot;&gt;&lt;tt&gt;owner&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#group()&quot;&gt;&lt;tt&gt;group&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#groupId()&quot;&gt;&lt;tt&gt;groupId&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String path()" doc="/**
&lt;p&gt;Returns the file's path. This doesn't include the file name.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#dir()&quot;&gt;&lt;tt&gt;dir&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#filePath()&quot;&gt;&lt;tt&gt;filePath&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#absolutePath()&quot;&gt;&lt;tt&gt;absolutePath&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean permission(com.trolltech.qt.core.QFile.Permissions permissions)" doc="/**
&lt;p&gt;Tests for file permissions. The &lt;tt&gt;permissions&lt;/tt&gt; argument can be several flags of type QFile::Permissions OR-ed together to check for permission combinations.&lt;/p&gt;
&lt;p&gt;On systems where files do not have permissions this function always returns true.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;    QFileInfo fi(&amp;quot;/tmp/archive.tar.gz&amp;quot;);
    if (fi.permission(QFile::WriteUser | QFile::ReadGroup))
        qWarning(&amp;quot;I can change the file; my group can read the file&amp;quot;);
    if (fi.permission(QFile::WriteGroup | QFile::WriteOther))
        qWarning(&amp;quot;The group or others can change the file&amp;quot;);&lt;/pre&gt;

@see &lt;a href=&quot;QFileInfo.html#isReadable()&quot;&gt;&lt;tt&gt;isReadable&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isWritable()&quot;&gt;&lt;tt&gt;isWritable&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isExecutable()&quot;&gt;&lt;tt&gt;isExecutable&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final com.trolltech.qt.core.QFile.Permissions permissions()" doc="/**
&lt;p&gt;Returns the complete OR-ed together combination of QFile::Permissions for the file.&lt;/p&gt;
 */"/>
    <method name="public final void refresh()" doc="/**
&lt;p&gt;Refreshes the information about the file, i.e&amp;#x2e; reads in information from the file system the next time a cached property is fetched.&lt;/p&gt;
 */"/>
    <method name="public final void setCaching(boolean on)" doc="/**
&lt;p&gt;If &lt;tt&gt;on&lt;/tt&gt; is true, enables caching of file information. If &lt;tt&gt;on&lt;/tt&gt; is false caching is disabled.&lt;/p&gt;
&lt;p&gt;When caching is enabled, &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; reads the file information from the file system the first time it's needed, but generally not later.&lt;/p&gt;
&lt;p&gt;Caching is enabled by default.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#refresh()&quot;&gt;&lt;tt&gt;refresh&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#caching()&quot;&gt;&lt;tt&gt;caching&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setFile(com.trolltech.qt.core.QDir dir, java.lang.String file)" doc="/**
&lt;p&gt;Sets the file that the &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; provides information about to &lt;tt&gt;file&lt;/tt&gt; in directory &lt;tt&gt;dir&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;If &lt;tt&gt;file&lt;/tt&gt; includes a relative path, the &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; will also have a relative path.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final void setFile(java.lang.String file)" doc="/**
&lt;p&gt;Sets the file that the &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; provides information about to &lt;tt&gt;file&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;tt&gt;file&lt;/tt&gt; can also include an absolute or relative file path. Absolute paths begin with the directory separator (e.g&amp;#x2e; &amp;quot;/&amp;quot; under Unix) or a drive specification (under Windows). Relative file names begin with a directory name or a file name and specify a path relative to the current directory.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;    QString absolute = &amp;quot;/local/bin&amp;quot;;
    QString relative = &amp;quot;local/bin&amp;quot;;
    QFileInfo absFile(absolute);
    QFileInfo relFile(relative);

    QDir::setCurrent(QDir::rootPath());
&lt;span class=&quot;comment&quot;&gt;    //&lt;/span&gt; absFile and relFile now point to the same file

    QDir::setCurrent(&amp;quot;/tmp&amp;quot;);
&lt;span class=&quot;comment&quot;&gt;    //&lt;/span&gt; absFile now points to &amp;quot;/local/bin&amp;quot;,
&lt;span class=&quot;comment&quot;&gt;    //&lt;/span&gt; while relFile points to &amp;quot;/tmp/local/bin&amp;quot;&lt;/pre&gt;

@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt;
@see &lt;tt&gt;QDir::setCurrent&lt;/tt&gt;
@see &lt;tt&gt;QDir::isRelativePath&lt;/tt&gt; */"/>
    <method name="public final void setFile(com.trolltech.qt.core.QFile file)" doc="/**
&lt;p&gt;Sets the file that the &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; provides information about to &lt;tt&gt;file&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;If &lt;tt&gt;file&lt;/tt&gt; includes a relative path, the &lt;a href=&quot;QFileInfo.html#QFileInfo()&quot;&gt;&lt;tt&gt;QFileInfo&lt;/tt&gt;&lt;/a&gt; will also have a relative path.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#isFile()&quot;&gt;&lt;tt&gt;isFile&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isRelative()&quot;&gt;&lt;tt&gt;isRelative&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final long size()" doc="/**
&lt;p&gt;Returns the file size in bytes. If the file does not exist or cannot be fetched, 0 is returned.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#exists()&quot;&gt;&lt;tt&gt;exists&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String suffix()" doc="/**
&lt;p&gt;Returns the suffix of the file.&lt;/p&gt;
&lt;p&gt;The suffix consists of all characters in the file after (but not including) the last '.'&amp;#x2e;&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;pre&gt;    QFileInfo fi(&amp;quot;/tmp/archive.tar.gz&amp;quot;);
    QString ext = fi.suffix();  &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; ext = &amp;quot;gz&amp;quot;&lt;/pre&gt;
&lt;p&gt;The suffix of a file is computed equally on all platforms, independent of file naming conventions (e.g&amp;#x2e;, &amp;quot;.bashrc&amp;quot; on Unix has an empty base name, and the suffix is &amp;quot;bashrc&amp;quot;).&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#fileName()&quot;&gt;&lt;tt&gt;fileName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#completeSuffix()&quot;&gt;&lt;tt&gt;completeSuffix&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#baseName()&quot;&gt;&lt;tt&gt;baseName&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#completeBaseName()&quot;&gt;&lt;tt&gt;completeBaseName&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final java.lang.String symLinkTarget()" doc="/**
&lt;p&gt;Returns the absolute path to the file or directory a symlink (or shortcut on Windows) points to, or a an empty string if the object isn't a symbolic link.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;

@see &lt;a href=&quot;QFileInfo.html#exists()&quot;&gt;&lt;tt&gt;exists&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isSymLink()&quot;&gt;&lt;tt&gt;isSymLink&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isDir()&quot;&gt;&lt;tt&gt;isDir&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QFileInfo.html#isFile()&quot;&gt;&lt;tt&gt;isFile&lt;/tt&gt;&lt;/a&gt; */"/>
</class>
