最近,在做Android專案的時候,遇到一個下載zip檔案並解壓的需求,對於普通的檔案解壓,使用OutputStream和InputStream即可完成。但是,如果需要解壓時需要密碼什麼的,普通的流讀取就不行了。最後,找了大半天,找到了一個ZIP4J的開源庫,ZIP4J支援以下特性:
- Create, Add, Extract, Update, Remove files from a Zip file
- Read/Write password protected Zip files
- AES 128/256 Encryption/Decryption
- Standard Zip Encryption/Decryption
- Zip64 format
- Store (No Compression) and Deflate compression method
- Create or extract files from Split Zip files (Ex: z01, z02,...zip)
- Unicode file names
- Progress Monitor
接著,我們下載了Git上的原始碼,由於是Android專案,我希望將程式碼做成本地依賴,最直接的方式就是打包成jar包。使用IntellJ Ideal開啟專案原始碼,接下來就是將原始碼編譯成jar包。
首先,在專案的Maven Projects
介面,點選需要打包的專案,進行如下4步操作。
等待安裝完成之後,就會在控制檯輸出jar的相關資訊,如下圖。
我們可以到對應的目錄下檢視生成的jar包,為了驗證jar包是否成功,可以使用解壓軟體檢視。
除此之外,我們還可以將Maven依賴轉化為Gradle依賴,比如:
// Maven依賴
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>2.10.0</version>
</dependency>
//Gradle依賴
implementation("net.lingala.zip4j:zip4j:2.10.0")