如何从Properties文件中读取字节数组作为属性

时间:2017-02-11 08:41:46

标签: java arrays file-io properties-file

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

  

e.g。 color = [64,14,76,92,5,114,54,31]

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

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

1 个答案:

答案 0 :(得分:2)

  

其某些属性以字节数组格式加密

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

  

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

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

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

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