1. 開発者向けのウェブ技術
  2. Web API
  3. FileSystemSyncAccessHandle
  4. FileSystemSyncAccessHandle.truncate()

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

FileSystemSyncAccessHandle.truncate()

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2023年3月以降、すべてのブラウザーで利用可能です。

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

FileSystemSyncAccessHandle インターフェイスの truncate() メソッドは、ハンドルに対応するファイルのサイズを指定のバイト数にします。

構文

js
truncate(newSize)

引数

newSize

ファイルのリサイズ後のバイト数です。

返値

undefined で解決する Promise を返します。

例外

InvalidStateError DOMException

対応するアクセスハンドルが既に閉じられているか、ファイルのバイナリーデータの変更が失敗したとき投げられます。

QuotaExceededError DOMException

newSize がファイルのもとのサイズより大きく、ブラウザーのストレージ制限を超えるとき投げられます。

js
async function truncateFile() {
 // draft ファイルのハンドルを取得する
 const root = await navigator.storage.getDirectory();
 const draftHandle = await root.getFileHandle("draft.txt", { create: true });
 // 同期式アクセスハンドルを取得する
 const accessHandle = await draftHandle.createSyncAccessHandle();
 // ファイルを 0 バイトに切り詰める
 accessHandle.truncate(0);
 // 変更をディスクに書き込む
 accessHandle.flush();
 // 完了したら、常に FileSystemSyncAccessHandle を閉じる
 accessHandle.close();
}

メモ: 仕様書の以前のバージョンでは、close()flush()getSize()truncate() は誤って非同期のメソッドとされていました。これは現在では変更されていますが、まだ非同期バージョンをサポートしているブラウザーもあります。

仕様書

仕様書
File System
# api-filesystemsyncaccesshandle-truncate

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /