この記事では、Java で RAR を ZIP に変換する方法 について説明します。Java で RAR ファイルを ZIP に変換するための環境設定、アルゴリズムの手順、実行可能なコード スニペットに関するすべての情報が網羅されています。さらに、RAR アーカイブから ZIP 形式にデータをエクスポートする際にコンテンツをフィルター処理するさまざまな方法についても説明します。
JavaでRARファイルをZIPに変換する手順
- RAR を ZIP に変換するには、アプリケーションに Aspose.ZIP をインストールします。
- RarArchive オブジェクトを使用して入力 RAR ファイルを取得します。
- ZIP archiveを開始する
- ソースRARファイル内のすべてのファイルを反復処理し、ZIPアーカイブに追加します。
- 出力ZIPアーカイブを保存する
これらの手順により、Java で RAR ファイルを ZIP ファイルに変換する アルゴリズムが簡素化されます。まず、変換の前提条件として環境を構成します。次に、ループを使用して各ファイルを反復処理し、すべての内容をターゲットの ZIP アーカイブにコピーします。
Java で RAR を ZIP に変換するコード
import com.aspose.zip.*; | |
import java.io.ByteArrayOutputStream; | |
import java.io.IOException; | |
public class Main | |
{ | |
public static void main(String[] args) throws Exception // Convert rar to zip using Java | |
{ | |
// Set the licenses | |
new License().setLicense("License.lic"); | |
try (com.aspose.zip.Archive zip = new com.aspose.zip.Archive()) | |
{ | |
try (com.aspose.zip.RarArchive rar = new com.aspose.zip.RarArchive("input.rar")) | |
{ | |
for (int i = 0; i < rar.getEntries().size(); i++) | |
{ | |
com.aspose.zip.RarArchiveEntry entry = rar.getEntries().get(i); | |
if (!entry.isDirectory()) | |
{ | |
try (ByteArrayOutputStream out = new ByteArrayOutputStream()) | |
{ | |
entry.extract(out); | |
try (java.io.ByteArrayInputStream in = new java.io.ByteArrayInputStream(out.toByteArray())) | |
{ | |
zip.createEntry(entry.getName(), in); | |
} | |
} | |
} | |
else | |
{ | |
zip.createEntry(entry.getName() + "/", new java.io.ByteArrayInputStream(new byte[0])); | |
} | |
} | |
} | |
zip.save("RARtoZIPoutput.zip"); | |
} | |
catch (IOException ex) { System.out.println(ex); | |
} | |
System.out.println("RAR to ZIP converted successfully"); | |
} | |
} |
このサンプル コードは、Java で RAR から ZIP へのコンバーターを作成する方法を示しています。isDirectory() メソッドを使用して、現在のエントリがディレクトリかどうかを確認できます。同様に、さまざまなメソッドを使用して作成時間、最終変更の詳細、ファイル名などを取得し、出力 ZIP アーカイブに追加するエントリをスクリーニングできます。
このチュートリアルでは、Java で WINRAR を ZIP に変換する方法を説明しました。一方、ZIP アーカイブをパスワードで保護する必要がある場合は、Java で ZIP ファイルをパスワード保護する の記事を参照してください。