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

How to read byte array as a property from a Properties file

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

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

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

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

with some of its properties encrypted in byte array format

我怀疑你在这里并不是真正的意思 "encrypted"。您只是将字节表示为文本——我没有看到任何加密。如果它们确实也 加密了,那么您需要采取单独的步骤。

it returns me an address which I think is the base address of the byte array

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

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

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