DirectoryEntrySync

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 DirectoryEntrySync interface of the File System API represents a directory in a file system. It includes methods for creating, reading, looking up, and recursively removing files in a directory.

This interface has been abandonned: it was on a standard track and it proves not a good idea. Do not use it anymore.

About this document

This specification is pretty much abandoned, having failed to reach any substantial traction.

Basic concepts

If you want to create subdirectories, you have to create each child directory in sequence. If you try to create a directory using a full path that includes parent directories that do not exist yet, you get an error. So create the hierarchy by recursively adding a new path after creating the parent directory.

Example

The getFile() method returns a FileEntrySync, which represents a file in the file system. The following creates an empty file called seekrits.txt in the root directory.

var fileEntry = fs.root.getFile('seekrits.txt', {create: true});

The getDirectory() method returns a DirectoryEntrySync, which represents a file in the file system. The following creates a new directory called superseekrit in the root directory.

Exceptions

The path was structurally correct, but refers to a resource that does not exist.

NO_MODIFICATION_ALLOWED_ERR

This is a permission issue. The target directory or file is not writable.

PATH_EXISTS_ERR

The file already exists. You cannot create another one with the same path.

QUOTA_EXCEEDED_ERROR

The operation would cause the application to exceed its storage quota.

SECURITY_ERR

The application does not have permission to access the element referred to by path. [ todo: Explain why ]

TYPE_MISMATCH_ERR

The path supplied exists, but it is not a directory.

removeRecursively()

Deletes a directory and all of its contents. You cannot delete the root directory of a file system.

If you delete a directory that contains a file that cannot be removed or if an error occurs while the deletion is in progress, some of the contents might not be deleted. Catch these cases with error callbacks and retry the deletion.