FileSystemEntity class

The common super class for File, Directory, and Link objects.

The common super class for File, Directory, and Link objects.

FileSystemEntity objects are returned from directory listing operations. To determine if a FileSystemEntity is a File, a Directory, or a Link perform a type check:

if (entity is File) (entity as File).readAsStringSync();

You can also use the type or typeSync methods to determine the type of a file system object.

Most methods in this class occur in synchronous and asynchronous pairs, for example, exists and existsSync. Unless you have a specific reason for using the synchronous version of a method, prefer the asynchronous version to avoid blocking your program.

Here's the exists method in action:

entity.exists().then((isThere) {
  isThere ? print('exists') : print('non-existent');
});

Other resources

Dart by Example provides additional task-oriented code samples that show how to use various API from the Directory class and the File class, both subclasses of FileSystemEntity.

Implemented by

Constructors

FileSystemEntity()

Static Properties

isWatchSupported bool
read-only

Static Methods

identical(String path1, String path2) → Future<bool>
Checks whether two paths refer to the same object in the file system. Returns a Future<bool> that completes with the result.
identicalSync(String path1, String path2) → bool
Synchronously checks whether two paths refer to the same object in the file system.
type(String path, {bool followLinks: true}) → Future<FileSystemEntityType>
Finds the type of file system object that a path points to. Returns a Future<FileSystemEntityType> that completes with the result.
typeSync(String path, {bool followLinks: true}) → FileSystemEntityType
Synchronously finds the type of file system object that a path points to. Returns a FileSystemEntityType.
Checks if type(path, followLinks: false) returns FileSystemEntityType.LINK.
isFile(String path) → Future<bool>
Checks if type(path) returns FileSystemEntityType.FILE.
isDirectory(String path) → Future<bool>
Checks if type(path) returns FileSystemEntityType.DIRECTORY.
isLinkSync(String path) → bool
Synchronously checks if typeSync(path, followLinks: false) returns FileSystemEntityType.LINK.
isFileSync(String path) → bool
Synchronously checks if typeSync(path) returns FileSystemEntityType.FILE.
isDirectorySync(String path) → bool
Synchronously checks if typeSync(path) returns FileSystemEntityType.DIRECTORY.
parentOf(String path) → String
Removes the final path component of a path, using the platform's path separator to split the path. Will not remove the root component of a Windows path, like "C:\" or "\\server_name\". Ignores trailing path separators, and leaves no trailing path separators.

Instance Properties

path String
read-only
uri Uri
read-only
isAbsolute bool
read-only
absolute FileSystemEntity
read-only
parent Directory
read-only

Instance Methods

exists() → Future<bool>
Checks whether the file system entity with this path exists. Returns a Future<bool> that completes with the result.
existsSync() → bool
Synchronously checks whether the file system entity with this path exists.
rename(String newPath) → Future<FileSystemEntity>
Renames this file system entity. Returns a Future<FileSystemEntity> that completes with a FileSystemEntity instance for the renamed file system entity.
renameSync(String newPath) → FileSystemEntity
Synchronously renames this file system entity. Returns a FileSystemEntity instance for the renamed entity.
Resolves the path of a file system object relative to the current working directory, resolving all symbolic links on the path and resolving all .. and . path segments.
resolveSymbolicLinksSync() → String
Resolves the path of a file system object relative to the current working directory, resolving all symbolic links on the path and resolving all .. and . path segments.
stat() → Future<FileStat>
Calls the operating system's stat() function on the path of this FileSystemEntity. Identical to FileStat.stat(this.path).
statSync() → FileStat
Synchronously calls the operating system's stat() function on the path of this FileSystemEntity. Identical to FileStat.statSync(this.path).
delete({bool recursive: false}) → Future<FileSystemEntity>
Deletes this FileSystemEntity.
deleteSync({bool recursive: false}) → void
Synchronously deletes this FileSystemEntity.
watch({int events: FileSystemEvent.ALL, bool recursive: false}) → Stream<FileSystemEvent>
Start watching the FileSystemEntity for changes.