-3

我有个问题。目前我正在用java语言开发视频游戏。此时数据文件占用大约 100MB 空间,即使游戏世界不大。我想压缩这些文本文件并用密码或某种加密方式保护它们,但我找不到任何好的免费库。

或者也许可以在没有外部库的情况下将数据打包到某种档案中?

更新 我试图下载 Zip4j,但它显示我需要源附件,我在图书馆的网站上找不到。

4

3 回答 3

0

Java 提供了一些压缩数据的特性,例如:GZIPInputStream 和 GZIPOutputStream

您还可以将 zip 与 ZipFile (java.util.zip) 一起使用

对于加密,您可以编写自己的 FilterOutputStream 和 FilterInputStream ,在其中使用 Cipher 对其进行加密。

这些功能都可以在没有外部库的情况下运行。

于 2013-06-05T10:54:31.237 回答
0

您可以使用 apache Compress Library 来压缩文件。 http://commons.apache.org/proper/commons-compress/

您还可以使用 java.util.zip 中的 zip 库进行压缩

于 2013-06-05T10:54:17.040 回答
0

您可以使用 JDK 提供的工具来压缩您的游戏数据:

  • java.util.ZipFile 和相关类来处理普通的 zip 文件
  • java.util.GZIPInput/OutputStream 直接压缩数据(没有“文件目录”的概念,只是一个blob)。
  • java.util.DeflaterInput/OutputStream(如 GZIP)

存在许多 3rd-Party 压缩类。我个人喜欢 XZ for Java,因为它提供了出色的压缩比,并且通过标准流接口 ( http://tukaani.org/xz/java.html )易于使用。

对于加密,有与压缩流一样使用的加密流。请注意,只要有一点知识和耐心,任何人都可以从您的游戏文件中提取“密钥”,如果他们真的想要的话。

于 2013-06-05T10:56:10.283 回答