FileSystemEntry

FileSystemEntry 接口是文件和目录条目 API 的一部分,它表示文件系统中的单个条目。该条目可以是文件或目录(目录由 FileSystemDirectoryEntry 接口表示)。它包含用于操作文件的方法,包括复制、移动、删除和读取文件,以及有关它指向的文件的信息,包括文件名和从根目录到该条目的路径。

基本概念

您不能直接创建 FileSystemEntry 对象。相反,您将通过其他 API 收到基于该接口的对象。该接口充当 FileSystemFileEntryFileSystemDirectoryEntry 接口的基类,分别为表示文件和目录的文件系统条目提供特定功能。

FileSystemEntry 接口包含您期望用于操作文件和目录的方法,但它还包含一个方便的方法用于获取条目的 URL:toURL()。它还引入了新的 URL 方案:filesystem:

您可以在 Google Chrome 中使用 filesystem: 方案查看存储在应用程序来源中的所有文件和文件夹。只需对应用程序来源的根目录使用 filesystem: 方案。例如,如果您的应用程序位于 http://www.example.com 中,请在选项卡中打开 filesystem:http://www.example.com/temporary/。Chrome 将显示应用程序来源存储的所有文件和文件夹的只读列表。

示例

要查看 toURL() 如何工作的示例,请参阅 方法描述。下面的代码片段展示了如何按名称删除文件。

js
// 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 的浏览器中加载。

另请参阅