dart:io
FileSystemEntity class
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.
-
I/O for Command-Line Apps, a section from A Tour of the Dart Libraries covers files and directories.
-
Write Command-Line Apps, a tutorial about writing command-line apps, includes information about files and directories.
- Implementers
Constructors
- FileSystemEntity()
Properties
- absolute → FileSystemEntity
read-only
- Returns a FileSystemEntity whose path is the absolute path to this. [...]
- isAbsolute → bool
read-only
- Returns a bool indicating whether this object's path is absolute. [...]
- parent → Directory
read-only
- The directory containing this.
- path → String
read-only
- uri → Uri
read-only
- Returns a Uri representing the file system entity's location. [...]
- hashCode → int
read-only, inherited
- The hash code for this object. [...]
- runtimeType → Type
read-only, inherited
- A representation of the runtime type of the object.
Methods
- delete({bool recursive: false }) → Future<FileSystemEntity>
- Deletes this FileSystemEntity. [...]
- deleteSync({bool recursive: false }) → void
- Synchronously deletes this FileSystemEntity. [...]
- 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. [...]
- renameSync(String newPath) → FileSystemEntity
- Synchronously renames this file system entity. [...]
- resolveSymbolicLinks() → Future<String>
- Resolves the path of a file system object relative to the current working directory. [...]
- resolveSymbolicLinksSync() → String
- Resolves the path of a file system object relative to the current working directory. [...]
- stat() → Future<FileStat>
- Calls the operating system's stat() function on the path of this FileSystemEntity. [...]
- statSync() → FileStat
- Synchronously calls the operating system's stat() function on the path of this FileSystemEntity. [...]
- watch({int events: FileSystemEvent.all, bool recursive: false }) → Stream<FileSystemEvent>
- Start watching the FileSystemEntity for changes. [...]
- noSuchMethod(Invocation invocation) → dynamic
inherited
- Invoked when a non-existent method or property is accessed. [...]
- toString() → String
inherited
- Returns a string representation of this object.
Operators
- operator ==(dynamic other) → bool
inherited
- The equality operator. [...]
Static Properties
- isWatchSupported → bool
read-only
- Test if watch is supported on the current system. [...]
Static Methods
- identical(String path1, String path2) → Future<bool>
- Checks whether two paths refer to the same object in the file system. [...]
- identicalSync(String path1, String path2) → bool
- Synchronously checks whether two paths refer to the same object in the file system. [...]
- isDirectory(String path) → Future<bool>
- Checks if type(path) returns FileSystemEntityType.directory.
- isDirectorySync(String path) → bool
- Synchronously checks if typeSync(path) returns FileSystemEntityType.directory.
- isFile(String path) → Future<bool>
- Checks if type(path) returns FileSystemEntityType.file.
- isFileSync(String path) → bool
- Synchronously checks if typeSync(path) returns FileSystemEntityType.file.
- isLink(String path) → Future<bool>
- Checks if type(path, followLinks: false) returns FileSystemEntityType.link.
- isLinkSync(String path) → bool
- Synchronously checks if typeSync(path, followLinks: false) returns FileSystemEntityType.link.
- parentOf(String path) → String
- Removes the final path component of a path, using the platform's path separator to split the path. [...]
- type(String path, { bool followLinks: true }) → Future<FileSystemEntityType>
- Finds the type of file system object that a path points to. [...]
- typeSync(String path, { bool followLinks: true }) → FileSystemEntityType
- Synchronously finds the type of file system object that a path points to. [...]