如何从属性文件中将字节数组读取为 属性
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 type
是 String
,它 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
.
假设我有一个名为 features.properties
的属性文件,其中一些属性以字节数组格式加密。
e.g. color = [64, 14, 76, 92, 5, 114, 54, 31]
我想在 java 中读取这个 属性 值。
如果我使用 properties.getProperty("color")
,因为 getProperty()
的 return type
是 String
,它 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
.