時々ディレクトリがZIPファイルに明示的にリストされているのはなぜですか?

時々ディレクトリがZIPファイルに明示的にリストされているのはなぜですか?

ZIPファイルを抽出するアプリケーションの構築中に、ZIPファイルにディレクトリエントリが明示的に含まれることがあり、そうでない場合があることがわかりました。例えば、次のような構造が与えられると

folder1/
└── file1

以下を使用してコンテンツを一覧表示するときに、次のように異なる出力を提供するファイルが見つかりましたunzip -lv file.zip

 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
       5  Stored        5   0% 2023-04-20 13:54 3bb935c6  folder1/file1
--------          -------  ---                            -------
       5                5   0%                            1 file
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
       0  Stored        0   0% 2023-04-20 13:54 00000000  folder1/
       5  Stored        5   0% 2023-04-20 13:54 3bb935c6  folder1/file1
--------          -------  ---                            -------
       5                5   0%                            2 files

2番目のフォルダに明示的に指定されたフォルダを書き留めます。

ここでの基準は何ですか?プログラムは通常、この問題を処理する方法について仮定しますか?どちらにもメリットがありますか?

答え1

基準これは指定されていませんが、通常、ディレクトリメタデータも保存できるように、ディレクトリを別々のエントリとして保存します。

ZIPファイル以降いいえ個々のディレクトリエントリは有効であり、プログラムは何らかの方法でこれを仮定しないでください。

(Info-Zipを使用している場合、zipこの-Dフラグはリポジトリディレクトリエントリをスキップします。)

関連情報