【问题标题】:How to read byte array as a property from a Properties file如何从属性文件中读取字节数组作为属性
【发布时间】:2017-06-29 15:51:57
【问题描述】:

假设我有一个名为 features.properties 的属性文件,其中一些属性以字节数组格式加密。

例如颜色 = [64, 14, 76, 92, 5, 114, 54, 31]

我想在java中读取这个属性值。

如果我使用properties.getProperty("color"),因为getProperty()return typeString,它会返回一个地址,我认为它是字节数组的基地址。 我应该使用FileInputStream 来阅读它,但不知道如何使用它。请帮忙!

【问题讨论】:

    标签: java arrays file-io properties-file


    【解决方案1】:

    它的一些属性以字节数组格式加密

    我怀疑您在这里实际上并不是指“加密”。您只是将字节表示为文本 - 我没有看到任何加密。如果它们真的也加密了,那么你需要采取一个单独的步骤。

    它返回一个地址,我认为它是字节数组的基地址

    不,它会将值作为字符串返回给您,例如“[64, 14, 76, 92, 5, 114, 54, 31]”。据我所知,属性文件不直接支持二进制数据。

    最简单的方法是将格式更改为仅使用 base64 编码或十六进制的字符串。有很多选项可以将 base64/hex 数据从文本转换为二进制。 (在 Stack Overflow 上搜索关于此的问题。)

    如果您不能更改格式,那么您需要删除前导方括号和尾随方括号,用逗号分隔结果,修剪每个单独的部分(“64”等)和然后解析它,例如与Byte.parseByte

    【讨论】:

      猜你喜欢
      • 2019-05-19
      • 2021-10-23
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      • 2012-03-04
      相关资源
      最近更新 更多