我想将Properties对象转换为byte [],但我可以使用以下代码但
private byte[] getBytes(Properties properties){
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter=new PrintWriter(stringWriter);
properties.list(printWriter);
String fileContent = stringWriter.getBuffer().toString();
byte[] bytes = fileContent.getBytes();
try{
stringWriter.close();
printWriter.close();
}catch (IOException e){
log.error("unable to close resource stringWriter" + e.getStackTrace());
}
return bytes;
}
但是properties.list(printWriter)将打印字符串" - 列出属性 - "字符串到控制台。需要帮助找到最佳方法。
答案 0 :(得分:0)
我使用ByteArrayOutputStream转换Properties对象。您的功能可以修改为以下内容 -
{{1}}
答案 1 :(得分:0)
属性文件包含纯文本,因此要存储字节数组,您需要将字节编码为纯文本。最好的方法是使用Base64编码器。
[en:0.5714271973455635, fr:0.42857096898887964] en
[en:0.5714271973455635, fr:0.42857096898887964] en
[en:0.5714271973455635, fr:0.42857096898887964] en
[en:0.5714271973455635, fr:0.42857096898887964] en
[en:0.5714271973455635, fr:0.42857096898887964] en
并获取字节:
String Base64.econdeToString(byte[])