FileSystemEntry
FileSystemEntry
接口是文件和目录条目 API 的一部分,它表示文件系统中的单个条目。该条目可以是文件或目录(目录由 FileSystemDirectoryEntry
接口表示)。它包含用于操作文件的方法,包括复制、移动、删除和读取文件,以及有关它指向的文件的信息,包括文件名和从根目录到该条目的路径。
基本概念
您不能直接创建 FileSystemEntry
对象。相反,您将通过其他 API 收到基于该接口的对象。该接口充当 FileSystemFileEntry
和 FileSystemDirectoryEntry
接口的基类,分别为表示文件和目录的文件系统条目提供特定功能。
FileSystemEntry
接口包含您期望用于操作文件和目录的方法,但它还包含一个方便的方法用于获取条目的 URL:toURL()
。它还引入了新的 URL 方案:filesystem:
。
您可以在 Google Chrome 中使用 filesystem:
方案查看存储在应用程序来源中的所有文件和文件夹。只需对应用程序来源的根目录使用 filesystem:
方案。例如,如果您的应用程序位于 http://www.example.com
中,请在选项卡中打开 filesystem:http://www.example.com/temporary/
。Chrome 将显示应用程序来源存储的所有文件和文件夹的只读列表。
示例
要查看 toURL()
如何工作的示例,请参阅 方法描述。下面的代码片段展示了如何按名称删除文件。
// Taking care of the browser-specific prefixes.
window.requestFileSystem =
window.requestFileSystem || window.webkitRequestFileSystem;
// …
// Opening a file system with temporary storage
window.requestFileSystem(
TEMPORARY,
1024 * 1024 /*1MB*/,
(fs) => {
fs.root.getFile(
"log.txt",
{},
(fileEntry) => {
fileEntry.remove(() => {
console.log("File removed.");
}, onError);
},
onError,
);
},
onError,
);
实例属性
该接口提供以下属性。
filesystem
只读-
一个
FileSystem
对象,表示该条目所在的存储系统。 fullPath
只读-
一个字符串,提供从存储系统根目录到该条目的完整绝对路径;也可以将其视为相对于根目录的路径,前面加一个 "/" 字符。
isDirectory
只读-
一个布尔值,如果该条目表示目录,则为
true
;否则为false
。 isFile
只读-
一个布尔值,如果该条目表示文件,则为
true
。如果不是文件,则该值为false
。 name
只读-
包含条目名称的字符串(最后一个 "/" 字符之后的路径的最后部分)。
实例方法
该接口定义以下方法。
copyTo()
已弃用 非标准-
将文件或目录复制到存储系统上的新位置。
getMetadata()
已弃用 非标准-
获取有关文件的元数据,例如其修改日期和大小。
getParent()
-
返回一个
FileSystemDirectoryEntry
,它表示该条目的父目录。 moveTo()
已弃用 非标准-
将文件或目录移动到存储系统上的新位置,或重命名文件或目录。
remove()
已弃用 非标准-
删除指定的文件或目录。您只能删除空目录。
toURL()
已弃用 非标准-
创建并返回一个标识该条目的 URL。此 URL 使用 URL 方案
"filesystem:"
。
规范
规范 |
---|
文件和目录条目 API # api-entry |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。
另请参阅
- 文件和目录条目 API
- 文件和目录条目 API 简介
FileSystemFileEntry
和FileSystemDirectoryEntry
基于FileSystemEntry
。