2 doublez1216 DoubleZ1216 于 2015.06.16 16:39 提问

求助:JAVA二进制数据与字符串转换问题

从文件中按照GBK编码方式读取二进制流,将二进制数据封装到XML数据包中,经过
网络传输到另一端后,再将二进制数据按照GBK编码写回到某一文件中,二进制数据
能够获取到,但是经过字符串处理后,到另一端如何还原回去?大神,求破!

2个回答

gamefinity
gamefinity   Rxr 2015.06.16 16:49
已采纳

你所谓的按照GBK编码方式读取,关键问题在于你的文件本身是不是按照GBK来写的?如果本身就是GBK的文件,你读取后封装为XML,传输到另一端后,直接写入文件就可以了,不需要还原。
但是如果你原来的文件不是GBK方式写的,那你按GBK读取的话可能会产生一些数据遗失、错误等情况,那样就没有办法还原了。
建议你不要用什么方式,直接按字节流读取,传输后也不需要什么还原,直接按字节流写回文件。

DoubleZ1216
DoubleZ1216 恩恩,base64位直接处理了
2 年多之前 回复
gamefinity
gamefinity 回复DoubleZ1216: 当然可以啦,你读取了字节流之后,可以自己编码,比如base64,然后放到XML里
2 年多之前 回复
DoubleZ1216
DoubleZ1216 XML中还有其他元素,有一个content标签存放文件内容[图片、视频、文档等]
2 年多之前 回复
DoubleZ1216
DoubleZ1216 字节流能够直接被封装到XML中,然后从XML中直接读取写回到文件中?
2 年多之前 回复
dominating413421391
dominating413421391   2015.06.16 23:39

写入到文件用缓冲流bufferwriter和filewriter,读取用filereader和bufferreader

Csdn user default icon
上传中...
上传图片
插入图片