繁体   English   中英

转换为字节数组并返回后,文件不可读

[英]File not readable after converting to byte array and back

我有一个.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编码,并且可能对您更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM