Location:
f32file.h
Link against: efsrv.lib
class TFindFile;
Searches for files and directories.
Each function has a variant which searches for multiple files/directories, using one or more wildcard characters in the filename.
If an initial search is successful, further searches can be carried out using Find()
or FindWild()
. You can also retrieve the fully qualified file specification, and manipulate and interrogate it using the TParse
class (or related classes).
Note that when specifying the path of a directory to search, the path should always end with a backslash character.When trailing backslash is not present then it is considered as file. And path will be taken till last backslash. The client must have appropriate capabilities for the directory to be searched. For example without ALL FILES Capability, it is not possible to successfully find any files under directory.
Defined in TFindFile
:
File()
, Find()
, FindByDir()
, FindByPath()
, FindWild()
, FindWildByDir()
, FindWildByPath()
, TFindFile()
IMPORT_C TFindFile(RFs &aFs);
Constructor taking a file server session.
|
IMPORT_C TInt FindByPath(const TDesC &aFileName, const TDesC *aPathList);
Searches for a file/directory in one or more directories in the path.
The search ends when the file/directory is found, or when every directory specified in the path list has been unsuccessfully searched.
Notes:
1. For the equivalent search using wildcards, use FindWildByPath()
.
2. After a file has been found, use TFindFile::File()
to get the fully qualified path of the file. To search for the next occurrence, use TFindFile::Find()
.
|
|
IMPORT_C TInt FindByDir(const TDesC &aFileName, const TDesC &aDirPath);
Searches for a file/directory in a directory on all available drives.
The search ends when the file/directory is found, or when every available drive has been unsuccessfully searched.
Notes:
1. A drive letter may be specified in aDirPath. If a drive is specified, then that drive is searched first. If no drive is specified, then the drive specified in the session path is searched first. The remaining available drives are then searched in descending alphabetical order, from Y: to A:, and ending with the Z: drive.
2. For the corresponding search using wildcards, use FindWildByDir()
.
3. After a file has been found, use TFindFile::File()
to get the fully qualified path and filename. To search for the next occurrence, use TFindFile::Find()
.
|
|
IMPORT_C TInt Find();
Searches for the next file/directory.
This should be used after a successful call to FindByPath()
or FindByDir()
, to find the next occurrence of the filename in the path or drive list.
Note:
1. After a file/directory has been found, use TFindFile::File()
to get the fully qualified path and filename.
|
IMPORT_C TInt FindWildByPath(const TDesC &aFileName, const TDesC *aPathList, CDir *&aDirList);
Searches for one or more files/directories in the directories contained in a path list.
Wildcard characters can be specified. The search ends when one or more filenames matching aFileName is found, or when every
directory in the path list has been unsuccessfully searched. To begin searching again after a successful match has been made,
use FindWild()
.
Notes:
1. The caller of the function is responsible for deleting aDir after the function has returned.
2. Calling TFindFile::File()
after a successful search gets the drive letter and directory containing the file(s). The filenames can be retrieved via
the array of TEntry::iName
objects contained in aDir. If you want to retrieve the fully qualified path of a file, you need to parse the path and the
filename.
|
|
IMPORT_C TInt FindWildByDir(const TDesC &aFileName, const TDesC &aDirPath, CDir *&aDir);
Searches, using wildcards, for one or more files/directories in a specified directory.
If no matching file is found in that directory, all available drives are searched in descending alphabetical order, from Y: to A:, and ending with the Z: drive.
The search ends when one or more matching filenames are found, or when every available drive has been unsuccessfully searched.
To begin searching again after a successful match has been made, use FindWild()
. Wildcards may be specified in the filename.
Notes:
1. A drive letter may be specified in aDirPath (or in aFileName). If a drive is specified, that drive is searched first, followed by the other available drives, in descending alphabetical order. If no drive is specified, the drive contained in the session path is searched first.
2. The function sets aDir to NULL, then allocates memory for it before appending entries to the list. Therefore, aDir should have no memory allocated to it before this function is called, otherwise this memory will become orphaned.
3. The caller of this function is responsible for deleting aDir after the function has returned.
4. Calling TFindFile::File()
after a successful search returns the drive letter and directory containing the file(s). Filenames may be retrieved via the
array of TEntry::iNames contained in aDir. If you want to retrieve the fully qualified path of a file, you will need to parse
the path and the filename.
|
|
IMPORT_C TInt FindWild(CDir *&aDirList);
Searches for the next file/directory.
This should be used after a successful call to FindWildByPath()
or FindWildByDir()
, for the next occurrences of the filename in the path or drive list.
Notes:
1. The caller of this function is responsible for deleting aDir after the function has returned
2. Calling TFindFile::File()
after a successful search, will return the drive letter and the directory containing the file(s). The filenames may be retrieved
via the array of TEntry::iName
objects contained in aDir. If you want to retrieve the fully qualified path of a file, you will need to parse the path and
the filename using the TParse
class or derived classes.
|
|
inline const TDesC &File() const;
Gets the full file specification of a file which was found by a successful call to any of the search variants that do not accept wildcards.
The file specification includes drive, path and filename.
Notes:
1. When called after a successful search using wildcards the only valid components of the retrieved file specification are drive letter and directory.
|