ZIP Read archive
ZIP Read archive ( zipFile : 4D.File { ; password : Text }) : 4D.ZipArchive
引数 | 型 | 説明 | |
---|---|---|---|
zipFile | 4D.File | → | ZIPアーカイブファイル |
password | Text | → | ZIPアーカイブのパスワード (必要であれば) |
戻り値 | 4D.ZipArchive | ← | アーカイブオブジェクト |
履歴
リリース | 内容 |
---|---|
18 | 追加 |
説明
ZIP Read archive
コマンドは、zipFile のコンテンツを取得し、4D.ZipArchive
オブジェクト形式で返します。
このコマンドは ZIPアーカイブを展開することはしません。その中身に関する情報を提供するのみです。 To extract the contents of an archive, you need to use methods such as file.copyTo() or folder.copyTo().
zipFile 引数として、圧縮された ZIPアーカイブを参照している 4D.File
オブジェクトを渡します。 ターゲットのアーカイブファイルは ZIP Read archive
が実行を終えるまで (全コンテンツ/参照が取得/解放されるまで) は開いた状態となり、その後自動的に閉じられます。
zipFile 引数で指定した ZIPファイルがパスワードで保護されていた場合、任意の password 引数を渡してパスワードを提供する必要があります。 パスワードが必要にも関わらず、コンテンツ読み出し時にパスワードが提示されなかった場合、エラーが生成されます。
アーカイブオブジェクト
The returned 4D.ZipArchive
object contains a single root
property whose value is a 4D.ZipFolder
object. このフォルダーは 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