将Properties对象转换为java中的字节数组

时间:2017-03-15 16:34:08

标签: string properties byte

我想将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)将打印字符串" - 列出属性 - "字符串到控制台。需要帮助找到最佳方法。

2 个答案:

答案 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[])