我有一个 .tar.gz 文件,需要将其放入字节数组中,以便将其放入 IBM JMS 队列中。问题是,转换为字节数组后,当我转换回文件时,我的文件不再可读。以下两行将文件读入 JMS 消息,然后将字节写入文件。
Files.readAllBytes(Paths.get(file.getPath()))
Files.write(filename, message.getBytes(), StandardOpenOption.CREATE);
我还需要做其他事情吗,也许与格式相关才能使这项工作正常进行?从队列中消耗消息的程序给了我这个错误(打印出二进制文件后)
is not a valid base64Binary. A valid example is "AA==".
最佳答案
试试这个:
byte[] buf = Files.readAllBytes(Paths.get(file.getPath()));
buf = java.util.Base64.getEncoder().encode(buf);
这将对字节进行 Base64 编码,可能会更适合您。
关于java - 转换为字节数组并返回后文件不可读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42657074/