2013-06-05 64 views
-3

我遇到問題。目前我正在用java語言開發視頻遊戲。此時數據文件佔用大約100MB的空間,即使遊戲世界並不大。我想壓縮這些文本文件,用密碼或某種加密保護它們,但是我找不到任何好的和免費的庫。Java字符串數據壓縮

或者也許有可能將數據打包到某種類型的存檔中而無需外部庫?

更新 我試圖下載Zip4j,但它表明我需要源附件,而且我無法在庫的網站中找到它。

+0

http://docs.oracle.com/javase/6/docs/api/java/util/zip/package-summary.html? – creinig

+0

你看過java.util.zip包嗎?我不認爲密碼保護是受支持的,但你可能會加密整個zip文件。 –

+0

JDK已經有了一個讀取/寫入ZIP文件的API。至於保護遊戲數據,你爲什麼要這樣做? – fge

回答

0

可以壓縮侑由JDK提供的設施遊戲數據:

  • java.util.ZipFile和相關的類來處理正常的zip文件
  • java.util.GZIPInput/OutputStream中對數據進行壓縮直接(沒有「文件目錄」的概念,只是一個blob)。
  • java.util.DeflaterInput/OutputStream中(像GZIP)

有存在第3方壓縮類的大量。我個人喜歡Java的XZ,因爲它提供了出色的壓縮比,並且通過標準流接口(http://tukaani.org/xz/java.html)很容易使用。

對於加密,存在像加密流一樣使用的加密流。請注意,如果他們真的想要,任何人都可以從遊戲文件中提取一些知識和耐心的「關鍵」。

0

Java提供了多種功能,壓縮數據,如: GZIPInputStream和GZIPOutputStream

你也可以用拉鍊用的ZipFile( java.util.zip)

對於加密,您可以編寫自己的FilterOutputStream和FilterInputStream,使用密碼對其進行加密。

這些功能無需外部庫即可運行。