FileSystemEntry

FileSystemEntry 介面是檔案和目錄條目 API (File and Directory Entries 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:"

規範

規範
File and Directory Entries API
# api-entry

瀏覽器相容性

另見