摘要:中构造字节流的一种实现专门创建一个类来保存指定数提示数据超了设置一个值到第一位将列表中的数据合并成一个数据
java中构造字节流的一种实现
import java.util.ArrayList; import java.util.List; /** * Created by kaven on 2018/4/2. */ public class TestBytes { /** * 专门创建一个类来保存指定byte数 */ public class MyByte { byte[] data; MyByte(int n) { data = new byte[n]; } void setData(String s) { byte[] tmp = s.getBytes(); // 提示数据超了 if (tmp.length > data.length) { System.err.print("too many data"); } for (int i = 0; i < this.data.length && i < tmp.length; i++) { data[i] = tmp[i]; } } // 设置一个值到第一位 void setData(int i) { data[0] = (byte) i; } byte[] getByte() { return data; } int size() { return data.length; } } void login() { MyByte msgType = new MyByte(1); MyByte userId = new MyByte(16); MyByte msg = new MyByte(12); msgType.setData(1); userId.setData("1"); msg.setData("222"); Listlist = new ArrayList(); list.add(msgType); list.add(userId); list.add(msg); byte[] res = join(list); System.out.print(res.toString()); } /** * 将列表中的数据合并成一个数据 * @param list * @return */ private byte[] join(List list) { int count = 0; for (int i = 0; i < list.size(); i++) { count += list.get(i).size(); } byte[] res = new byte[count]; int start = 0; for (int i = 0; i < list.size(); i++) { byte[] tmp = list.get(i).getByte(); for (int j = 0; j < tmp.length; j++) { res[start] = tmp[j]; start += 1; } } return res; } public static void main(String args[]) { TestBytes a = new TestBytes(); a.login(); } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/68928.html
摘要:是一个系统支持的所有字符的集合,包括各国家文字标点符号图形符号数字等字符集简体中文码表。支持中国国内少数民族的文字,同时支持繁体汉字以及日韩汉字等字符集为表达任意语言的任意字符而设计,是业界的一种标准,也称为统一码标准万国码。 1 File1.1 File类的概述和构造方法File: 它是文件和目录路径名的抽象...
摘要:验证过程验证过程的目的是为了确保文件的字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机自身的安全。二虚拟机字节码执行引擎虚拟机的执行引擎自行实现,可以自行制定指令集与执行引擎的结构体系。 本篇博客主要针对Java虚拟机的类加载机制,虚拟机字节码执行引擎,早期编译优化进行总结,其余部分总结请点击Java虚拟总结上篇 。 一.虚拟机类加载机制 概述 虚拟机把描述类的数据从Clas...
摘要:分类一按操作方式类结构字节流和字符流字节流以字节为单位,每次次读入或读出是位数据。该对象并不是流体系中的一员,其封装了字节流,同时还封装了一个缓冲区字符数组,通过内部的指针来操作字符数组中的数据。 分类一:按操作方式(类结构) 字节流和字符流: 字节流:以字节为单位,每次次读入或读出是8位数据。可以读任何类型数据。 字符流:以字符为单位,每次次读入或读出是16位数据。其只能读取字符类...
任何程序都需要加载到内存才能与CPU进行交流 同理, 字节码.class文件同样需要加载到内存中,才可以实例化类 ClassLoader的使命就是提前加载.class 类文件到内存中 在加载类时,使用的是Parents Delegation Model(溯源委派加载模型) Java的类加载器是一个运行时核心基础设施模块,主要是在启动之初进行类的加载、链接、初始化 showImg(https://s...
阅读 3145·2021-11-19 09:40
阅读 3629·2021-11-16 11:52
阅读 2963·2021-11-11 16:55
阅读 3129·2019-08-30 15:55
阅读 1152·2019-08-30 13:08
阅读 1608·2019-08-29 17:03
阅读 2980·2019-08-29 16:19
阅读 2557·2019-08-29 13:43