FileSystemEntry
FileSystemEntry 接口是文件和目录条目 API (File and Directory Entries 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:"。
规范
| 规范 |
|---|
| File and Directory Entries API # api-entry |
浏览器兼容性
加载中…
另见
- File and Directory Entries API
FileSystemFileEntry和FileSystemDirectoryEntry基于FileSystemEntry。