
TAR.GZ と ZIP は、ファイルやディレクトリのアーカイブおよび圧縮に広く使用されています。どちらのファイル形式も、ほぼすべての人気のあるオペレーティングシステムでうまく機能します。ただし、TAR.GZは、大きなディレクトリとその他のメタデータを圧縮する際に、パフォーマンスが向上します。したがって、このブログ記事では、プログラムでJavaでZIPをTAR.GZに変換する方法を学びます。そのために、TAR.GZファイルを作成するための信頼性の高いAPIであるAspose.ZIP for Javaを選択します。さらに、ビジネスソフトウェアのためにZIPからTAR.GZへの変換ツールを開発することで、全プロセスを自動化できます。
以下のポイントがカバーされます:
TARアーカイブのためのJava API - インストール
この機能を実装するために、このライブラリをインストールします。したがって、2つのオプションがあります。最初に、JARファイルをダウンロードするか、次に以下のMaven設定に従ってください:
<repositories>
<repository>
<id>snapshots</id>
<name>repo</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-zip</artifactId>
<version>24.5</version>
</dependency>
</dependencies>

JavaでZIPをTAR.GZにプログラムで変換する
ここで注意すべき点は、ZIPからTAR.GZへの変換を実装するための元のZIPファイルを持っているということです。
以下の手順は、Aspose.ZIP for Javaを使用してTAR.GZファイルを生成する方法を示しています:
- Archiveクラスのインスタンスを作成し、元のZIPファイルをロードします。
- TarArchiveクラスのオブジェクトをインスタンス化します。
- getEntriesメソッドを呼び出して、RARアーカイブを構成するRarArchiveEntryタイプのエントリを取得します。
- createEntryメソッドを呼び出して、アーカイブ内に単一のエントリを作成します。
- saveGzippedメソッドを呼び出して、TAR.GZアーカイブとして保存します。
次のコードサンプルをサーバーファイルにコピー&ペーストし、サーバーを実行してJavaでZIPをTAR.GZに変換します:
package com.example; | |
import java.io.ByteArrayInputStream; | |
import java.io.ByteArrayOutputStream; | |
import com.aspose.zip.Archive; | |
import com.aspose.zip.ArchiveEntry; | |
import com.aspose.zip.TarArchive; | |
import com.aspose.zip.exceptions.IOException; | |
public class Main { | |
// Convert ZIP to TAR.GZ in Java | |
public static void main(String[] args) throws java.io.IOException { | |
String dir = "/files/"; | |
// Create an instance of the Archive class and load the source ZIP file. | |
try (Archive source = new Archive(dir+"sample.zip")) { | |
// Instantiate an object of the TarArchive class. | |
try (TarArchive tar = new TarArchive()) { | |
// Get the entries of RarArchiveEntry type constituting the rar archive by calling the getEntries method. | |
for (ArchiveEntry entry : source.getEntries()) { | |
if (!entry.isDirectory()) { | |
ByteArrayOutputStream out = new ByteArrayOutputStream(); | |
try (java.io.InputStream mem = entry.open()) { | |
byte[] b = new byte[8192]; | |
int bytesRead; | |
while (0 < (bytesRead = mem.read(b, 0, b.length))) { | |
out.write(b, 0, bytesRead); | |
} | |
} | |
// Invoke the createEntry method to create a single entry within the archive. | |
tar.createEntry(entry.getName(), new ByteArrayInputStream(out.toByteArray())); | |
} | |
} | |
// Save as the TAR.GZ archive by calling the saveGzipped method. | |
tar.saveGzipped(dir+"result.tar.gz"); | |
} | |
} catch (IOException ex) { | |
System.out.println(ex); | |
} | |
} | |
} |
出力は以下の画像で確認できます:

ZIPからTAR.GZへの変換ツール - オンラインツール
このセクションでは、Aspose.ZIP for Javaによって提供されるオンラインツールを紹介します。実際、このZIPからTAR.GZへの変換ツールは、オンラインでZIPファイルを他の人気のあるファイル形式に変換できるようにします。さらに、ウェブベースであり、強力な変換機能を提供します。何よりも、使用に対して料金がかからず、簡単に変換を実行できます。

TAR.GZファイルを作成する - 無料ライセンスを取得
評価制限なしでこのJava APIを試すための無料の一時ライセンスを取得できます。
まとめ
結論として、Aspose.ZIP for Javaは変換機能を提供するだけでなく、アーカイブ形式のプログラムによる作成と操作も提供します。したがって、このガイドでは、JavaでZIPをTAR.GZに変換する方法とその手順、コードスニペットを示しました。したがって、ドキュメントやAPIのリファレンスを訪れて、さらに学ぶことができます。
開発を開始するために、このはじめにガイドを参照してください。最後に、aspose.comは他の有用なブログ記事を公開するので、つながっていてください。
質問をする
質問や疑問があれば、フォーラムでお知らせください。
よくある質問 – FAQs
ZIPをTAR.GZに変換するにはどうすればよいですか?
Aspose.ZIPは、ZIPをTAR.GZに変換するための堅牢なソリューションを複数のプログラミング言語で提供しています。したがって、Javaの場合はこのリンクを訪れてください。