Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
The FileSystemFileEntry
interface of the File System API represents a file in a file system. It offers properties describing the file's attributes, as well as the file()
method, which creates a File
object that can be used to read the file.
Because this is a non-standard API, whose specification is not currently on a standards track, it's important to keep in mind that not all browsers implement it, and those that do may implement only small portions of it. Check the Browser compatibility section for details.
Properties
Inherits the properties of its parent interface, FileSystemEntry
, but has no properties unique to this interface.
Methods
Obsolete methods
createWriter()
- Creates a new
FileWriter
object which allows writing to the file represented by the file system entry.
Basic concepts
To write content to file, create a FileWriter
object by calling createWriter()
. To read a file, obtain a File
object representing its contents by calling file()
.
Example
The following code creates an empty file called "log.txt"
(if it doesn't exist) and fills it with the text "Meow". Inside the success callback, event handlers are set up to handle the error
error
and writeend
events. The text data is written to the file by creating a blob, appending text to it, and passing the blob to FileWriter.write()
.
function onInitFs(fs) { fs.root.getFile('log.txt', {create: true}, function(fileEntry) { // Create a FileWriter object for our FileSystemFileEntry (log.txt). fileEntry.createWriter(function(fileWriter) { fileWriter.onwriteend = function(e) { console.log('Write completed.'); }; fileWriter.onerror = function(e) { console.log('Write failed: ' + e.toString()); }; // Create a new Blob and write it to log.txt. var bb = new BlobBuilder(); bb.append('Meow'); fileWriter.write(bb.getBlob('text/plain')); }, errorHandler); }, errorHandler); } window.requestFileSystem(window.TEMPORARY, 1024*1024, onInitFs, errorHandler);
Specifications
Specification | Status | Comment |
---|---|---|
File and Directory Entries API | Draft | Draft of proposed API |
This API has no official W3C or WHATWG specification.
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
FileSystemFileEntry | Chrome
Full support
13
| Edge
No support
No
| Firefox Full support 50 | IE No support No | Opera No support No | Safari No support No | WebView Android
Full support
Yes
| Chrome Android
Full support
Yes
| Firefox Android Full support 50 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
createWriter | Chrome Full support 13 | Edge No support No | Firefox
No support
50 — 52
| IE No support No | Opera No support No | Safari No support No | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android
No support
50 — 52
| Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
file | Chrome Full support 13 | Edge No support No | Firefox Full support 50 | IE No support No | Opera No support No | Safari No support No | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 50 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android ? |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.
- Deprecated. Not for use in new websites.
- Deprecated. Not for use in new websites.
- See implementation notes.
- See implementation notes.
- Requires a vendor prefix or different name for use.
- Requires a vendor prefix or different name for use.