メインコンテンツまでスキップ
バージョン: 20 R7 BETA

ZIP Read archive

ZIP Read archive ( zipFile : 4D.File { ; password : Text }) : 4D.ZipArchive

引数説明
zipFile4D.FileZIPアーカイブファイル
passwordTextZIPアーカイブのパスワード (必要であれば)
戻り値4D.ZipArchiveアーカイブオブジェクト
履歴
リリース内容
18追加

説明

ZIP Read archive コマンドは、zipFile のコンテンツを取得し、4D.ZipArchive オブジェクト形式で返します。

このコマンドは ZIPアーカイブを展開することはしません。その中身に関する情報を提供するのみです。 アーカイブの中身を取り出すためには、file.copyTo()folder.copyTo()などのメソッドを使用する必要があります。

zipFile 引数として、圧縮された ZIPアーカイブを参照している 4D.File オブジェクトを渡します。 ターゲットのアーカイブファイルは ZIP Read archive が実行を終えるまで (全コンテンツ/参照が取得/解放されるまで) は開いた状態となり、その後自動的に閉じられます。

zipFile 引数で指定した ZIPファイルがパスワードで保護されていた場合、任意の password 引数を渡してパスワードを提供する必要があります。 パスワードが必要にも関わらず、コンテンツ読み出し時にパスワードが提示されなかった場合、エラーが生成されます。

アーカイブオブジェクト

返されたオブジェクトは単一のroot プロパティだけを格納しており、その値は4D.ZipFolder オブジェクトです。 このフォルダーは ZIPアーカイブの全コンテンツを表します。 このフォルダーは ZIPアーカイブの全コンテンツを表します。

例題

ZIPFile オブジェクトを取得し、その中身を確認します:

 var $archive : 4D.ZipArchive
var $path : 4D.File

$path:=Folder(fk desktop folder).file("MyDocs/Archive.zip")
$archive:=ZIP Read archive($path)

アーカイブ内のファイルとフォルダーの一覧を取得します:

 $folders:=$archive.root.folders()
$files:=$archive.root.files()

ファイルのコンテンツを、root フォルダーから取り出すことなく読み出します:


If($files[$i].extension=".txt")
$txt:=$files[$i].getText()
Else
$blob:=$files[$i].getContent()
End if

root フォルダーから取り出します:

  // 特定のファイルを取得します
$folderResult:=$files[$i].copyTo(Folder(fk desktop folder).folder("MyDocs"))

// すべてのファイルを取得します
$folderResult:=$archive.root.copyTo(Folder(fk desktop folder).folder("MyDocs"))

参照

ZipArchive Class ZipFile Class ZipFolder Class ZIP Create archive