概要
アーカイブを最新かつ関連性の高いものに保つために、必要に応じてエントリを削除することを検討してください。 Java 経由の Aspose.Zip を使用すると、アーカイブ内の特定のファイルを選択的に削除または更新できます。ZIP からファイルを削除する方法
ZIP アーカイブのエントリは、
deleteEntry
のメソッドのペアを使用して削除できます。エントリの削除は再パックされずに行われるため、他のエントリは解凍および圧縮されません。
Java を使用して「archive.zip」から 1 つのファイルを削除する必要がある場合、次のコードはその方法を示しています。以下のアクションを実行します
1. 編集のためにアーカイブを開きます: コードは try 構造を利用して、コードのブロックが実行された後にアーカイブを自動的に閉じます。
2. エントリを反復処理します: 後続の行は、アーカイブ エントリを反復処理するループを実装し、最後のエントリを除くすべてを削除します。
3. 変更されたアーカイブを保存します: ループが完了すると、変更されたアーカイブは「last_entry.zip」という名前の新しいファイルに保存されます。
変更されたアーカイブを同じパスで保存することは可能ですが、これには一時ファイルへのコピーが必要になります。 。マルチボリューム ZIP アーカイブからエントリを削除することはできません。
try (Archive archive = new Archive("archive.zip")) {
while (archive.getEntries().size() > 1)
archive.deleteEntry(archive.getEntries().get(0));
archive.save("last_entry.zip");
}
TAR アーカイブからファイルを削除する
tar アーカイブのエントリは、同様の deleteEntry メソッドを使用して削除できます。
これは、「two_files.tar」という名前の TAR アーカイブを操作するためのコードです。 try-with-resources 構造を使用して編集用にアーカイブを開きます。コード ブロックの実行が終了すると、アーカイブは自動的に閉じられます。次に、コードはインデックス 0 のレコードをアーカイブから削除します。つまり、ファイルまたはフォルダーのリストの最初のファイルです。次に、コードは変更されたアーカイブを「single_file.tar」として保存します。したがって、このコードは、元の「two_files.tar」アーカイブにあったファイルの 1 つだけを含む新しい TAR アーカイブを作成します。
圧縮された tar アーカイブからのエントリの削除。 *.tar.gz では、最初にプレーンな *.tar アーカイブに解凍する必要があります。
try (TarArchive archive = new TarArchive("two_files.tar")) {
archive.deleteEntry(0);
archive.save("single_file.tar");
}
その他のサポートされている Java 圧縮 API
Aspose.ZIP Java ライブラリを使用して、zip ファイル ドキュメントの変換、マージ、編集、アーカイブからのデータの抽出などを行います。
Support and Learning Resources
- Learning Resources
- Documentation
- Source Code
- API References
- Tutorial Videos
- Product Support
- Free Support
- Paid Support
- Blog
- Release Notes
- Why Aspose.ZIP for Java?
- Customers List
- Success Stories