猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
在Java中将任何对象转换为字节数组
我有一个X类型的对象,我想在将其发送到S3之前将其转换为字节数组。有人可以告诉我该怎么做吗?我感谢您的帮助。
LEATH
浏览 800
回答 3
3回答
慕森王
是的 只需使用二进制序列化即可。您必须使用每个对象,implements Serializable但是从那里开始很简单。如果要避免实现Serializable接口,您的另一种选择是使用反射,并使用以下过程来对缓冲区进行数据读写:/** * Sets all int fields in an object to 0. * * @param obj The object to operate on. * * @throws RuntimeException If there is a reflection problem. */ public static void initPublicIntFields(final Object obj) { try { Field[] fields = obj.getClass().getFields(); for (int idx = 0; idx < fields.length; idx++) { if (fields[idx].getType() == int.class) { fields[idx].setInt(obj, 0); } } } catch (final IllegalAccessException ex) { throw new RuntimeException(ex); } }
0
0
0
慕森卡
正如我在其他类似问题中提到的那样,您可能需要考虑压缩数据,因为默认的Java序列化有点冗长。您可以通过在对象流和字节流之间放置一个GZIPInput / OutputStream来实现。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续