Java实现byte[]转List的示例代码
程序员文章站
2022-06-10 11:06:02
目录前言maven依赖代码补充前言其实这个工具是给自己写的,因为自己老是忘记。所以记录一下。maven依赖
前言
其实这个工具是给自己写的,因为自己老是忘记。所以记录一下。
maven依赖
<dependency> <groupid>com.google.guava</groupid> <artifactid>guava</artifactid> <version>30.1.1-jre</version> </dependency>
代码
package ai.guiji.csdn.tools; import com.google.common.primitives.bytes; import java.util.arrays; import java.util.list; /** @author 剑客阿良_aliang @date 2022/1/26 14:51 @description: byte工具 */ public class byteutils { /** * 字节组转list * * @param bytes 字节组 * @return list */ public static list<byte> bytestolist(byte[] bytes) { return bytes.aslist(bytes); } /** * list转字节组 * * @param list list * @return byte[] */ public static byte[] listtobytes(list<byte> list) { return bytes.toarray(list); } /** * 截取bytes * * @param bytes 字节组 * @param from 起始位 * @param to 结束位 * @return bytes */ public static byte[] subbytes(byte[] bytes, int from, int to) { return arrays.copyofrange(bytes, from, to); } }
代码说明
1、主要通过guava工具包来实现,代码简洁。
补充
java不仅能实现byte[]转list,还能实现map、list和byte[]互转
map转换成byte[]可以通过先将map转换成json,然后再将json转换成byte[],list和byte[]互转思路是一样的。
//将map转换成byte[] protected byte[] changemaptobyte(map<string,string> map) { byte[] bytes = null; try { bytes = jsonserilizable.serilizableformap(map).getbytes(); } catch (exception e) { baselog.error("map到byte[]转换异常",e); } return bytes; } //将byte[]转换成map protected map<string, string> changebytetomap(byte[] bytes) { map<string, string> retmap = null; try { if(bytes != null) { retmap = jsonserilizable.deserilizableformapfromfile(new string(bytes), string.class); }else { baselog.error("changebytetomap中bytes为null"); } } catch (exception e) { baselog.error("byte到map转换异常",e); } return retmap; }
jsonserilizable类代码如下:
package com.jd.goldeneye.stat.common; import java.io.ioexception; import java.util.hashmap; import java.util.list; import java.util.map; import com.jd.fastjson.json; import com.jd.fastjson.typereference; public class jsonserilizable { /* 将链表序列化为字符串存入json文件中 */ public static string serilizableforlist(object objlist) throws ioexception { string liststring = json.tojsonstring(objlist, true);// (maps,cityentity.class); return liststring; } /* 将json文件中的内容读取出来,反序列化为链表 */ public static <t> list<t> deserilizableforlistfromfile(string liststring2,class<t> clazz) throws ioexception { list<t> list2 = json.parsearray(liststring2, clazz); return list2; } /* 将hashmap序列化为字符串存入json文件中 */ public static string serilizableformap(object objmap) throws ioexception { string liststring = json.tojsonstring(objmap, true);// (maps,cityentity.class); return liststring; } /* 将json文件中的内容读取出来,反序列化为hashmap */ public static <t, k> hashmap<k, t> deserilizableformapfromfile(string liststring2,class<t> clazz) throws ioexception { map<k, t> map = json.parseobject(liststring2, new typereference<map<k, t>>() {}); return (hashmap<k, t>) map; } //使用方法 注意entity为随机定义,使用时用自己的类名替换下就可以用了 /*string pathname = "src/test/java/com/...../resources/file.json"; list<entity> entitylist = new arraylist<entity>(); jsonserilizable.serilizableforlist(entitylist, pathname); list<entity> entitylist2 = jsonserilizable .deserilizableforlistfromfile(pathname, entity.class); hashmap<integer, entity> map = new hashmap<integer, entity>(); jsonserilizable.serilizableformap(map, pathname); hashmap<integer, entity> map2 = jsonserilizable .deserilizableformapfromfile(pathname, entity.class);*/ }
测试例子:
//将map转换成byte[] protected byte[] changemaptobyte(map<string,string> map) { byte[] bytes = null; try { bytes = jsonserilizable.serilizableformap(map).getbytes(); } catch (exception e) { baselog.error("map到byte[]转换异常",e); } return bytes; } //将byte[]转换成map protected map<string, string> changebytetomap(byte[] bytes) { map<string, string> retmap = null; try { if(bytes != null) { retmap = jsonserilizable.deserilizableformapfromfile(new string(bytes), string.class); }else { baselog.error("changebytetomap中bytes为null"); } } catch (exception e) { baselog.error("byte到map转换异常",e); } return retmap; }
以上就是java实现byte[]转list的示例代码的详细内容,更多关于java byte[]转list的资料请关注其它相关文章!
下一篇: Java 文件复制