我有个问题。目前我正在用java语言开发视频游戏。此时数据文件占用大约 100MB 空间,即使游戏世界不大。我想压缩这些文本文件并用密码或某种加密方式保护它们,但我找不到任何好的免费库。
或者也许可以在没有外部库的情况下将数据打包到某种档案中?
更新 我试图下载 Zip4j,但它显示我需要源附件,我在图书馆的网站上找不到。
我有个问题。目前我正在用java语言开发视频游戏。此时数据文件占用大约 100MB 空间,即使游戏世界不大。我想压缩这些文本文件并用密码或某种加密方式保护它们,但我找不到任何好的免费库。
或者也许可以在没有外部库的情况下将数据打包到某种档案中?
更新 我试图下载 Zip4j,但它显示我需要源附件,我在图书馆的网站上找不到。
Java 提供了一些压缩数据的特性,例如:GZIPInputStream 和 GZIPOutputStream
您还可以将 zip 与 ZipFile (java.util.zip) 一起使用
对于加密,您可以编写自己的 FilterOutputStream 和 FilterInputStream ,在其中使用 Cipher 对其进行加密。
这些功能都可以在没有外部库的情况下运行。
您可以使用 apache Compress Library 来压缩文件。 http://commons.apache.org/proper/commons-compress/
您还可以使用 java.util.zip 中的 zip 库进行压缩
您可以使用 JDK 提供的工具来压缩您的游戏数据:
存在许多 3rd-Party 压缩类。我个人喜欢 XZ for Java,因为它提供了出色的压缩比,并且通过标准流接口 ( http://tukaani.org/xz/java.html )易于使用。
对于加密,有与压缩流一样使用的加密流。请注意,只要有一点知识和耐心,任何人都可以从您的游戏文件中提取“密钥”,如果他们真的想要的话。