java字节流转对象,应用于协议解析
2021/10/24 17:11:18
本文主要是介绍java字节流转对象,应用于协议解析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
- 插件 JavaStruct, 下载地址
代码示例
import struct.StructClass; import struct.StructField; @StructClass public class Head { @StructField(order = 0) private short flag1; //2 private short flagLable; @StructField(order = 1) private byte flag2; //1 @StructField(order = 2) private int flag3; //4 @StructField(order = 3) private long flag4; //8 @StructField(order = 4) private byte[] flag5 = new byte[16]; //16 @StructField(order = 5) private byte flag6; public byte getFlag6() { return flag6; } public void setFlag6(byte flag6) { this.flag6 = flag6; } public Head(){} public short getFlag1() { return flag1; } public void setFlag1(short flag1) { this.flag1 = flag1; } public short getFlagLable() { return flagLable; } public void setFlagLable(short flagLable) { this.flagLable = flagLable; } public byte getFlag2() { return flag2; } public void setFlag2(byte flag2) { this.flag2 = flag2; } public int getFlag3() { return flag3; } public void setFlag3(int flag3) { this.flag3 = flag3; } public long getFlag4() { return flag4; } public void setFlag4(long flag4) { this.flag4 = flag4; } public byte[] getFlag5() { return flag5; } public void setFlag5(byte[] flag5) { this.flag5 = flag5; } public static void main(String[] args) throws StructException { byte []data = { 1, 2, //4 3, //1 1, 1, 1, 1, //4 1, 2, 1, 2, 1, 2, 1, 2, //8 2, 1, 2, 1, 1, 2, 1, 3, //16 1, 1, 2, 1, 1, 2, 1, 3, 4, //1 1, 1, 2, 1, 1, 2, 1, 3, 1, 1, 2, 1, 1, 2, 1, 3, }; //1024 字节, 1字节 = 8bit System.out.println("Test byte[] arry len is: " + data.length); Head head = new Head(); JavaStruct.unpack(head, data); System.out.println(head.getFlag1()); System.out.println(head.getFlag2()); System.out.println(head.getFlag3()); System.out.println(head.getFlag4()); System.out.println(head.getFlag5()); System.out.println(head.getFlag6()); } }
maven 中添加本地依赖
<dependency> <groupId>funcool</groupId> <artifactId>struct</artifactId> <version>0.1</version> <!--这里测试0.1 ok--> <scope>system</scope> <systemPath>${project.basedir}/lib/javastruct-0.1.jar</systemPath> </dependency>
这篇关于java字节流转对象,应用于协议解析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)