Java byte数组操纵方式代码实例解析
作者:Mars.wang 时间:2022-02-18 16:54:12
字节数组的关键在于它为存储在该部分内存中的每个8位值提供索引(快速),精确的原始访问,并且您可以对这些字节进行操作以控制每个位。 坏处是计算机只将每个条目视为一个独立的8位数 - 这可能是你的程序正在处理的,或者你可能更喜欢一些强大的数据类型,如跟踪自己的长度和增长的字符串 根据需要,或者一个浮点数,让你存储说3.14而不考虑按位表示。 作为数据类型,在长数组的开头附近插入或移除数据是低效的,因为需要对所有后续元素进行混洗以填充或填充创建/需要的间隙。
java官方提供了一种操作字节数组的方法——内存流(字节数组流)ByteArrayInputStream、ByteArrayOutputStream
ByteArrayOutputStream——byte数组合并
/**
* 将所有的字节数组全部写入内存中,之后将其转化为字节数组
*/
public static void main(String[] args) throws IOException {
String str1 = "132";
String str2 = "asd";
ByteArrayOutputStream os = new ByteArrayOutputStream();
os.write(str1.getBytes());
os.write(str2.getBytes());
byte[] byteArray = os.toByteArray();
System.out.println(new String(byteArray));
}
ByteArrayInputStream——byte数组截取
/**
* 从内存中读取字节数组
*/
public static void main(String[] args) throws IOException {
String str1 = "132asd";
byte[] b = new byte[3];
ByteArrayInputStream in = new ByteArrayInputStream(str1.getBytes());
in.read(b);
System.out.println(new String(b));
in.read(b);
System.out.println(new String(b));
}
来源:https://www.cnblogs.com/wangbin2188/p/11512192.html
标签:Java,byte,数组
0
投稿
猜你喜欢
JAVA Integer类常用方法解析
2021-09-01 06:51:08
C#环形缓冲区(队列)完全实现
2022-06-26 08:05:48
adb通过wifi连接android设备流程解析
2021-12-27 08:39:37
使用Flutter实现一个走马灯布局的示例代码
2023-06-19 03:50:03
C#使用struct类型作为泛型Dictionary<TKey,TValue>的键
2023-10-09 01:53:35
java并发编程中ReentrantLock可重入读写锁
2021-12-10 16:06:17
Mybatis之typeAlias配置的3种方式小结
2023-11-26 16:42:14
Mybatis order by 动态传参出现的问题及解决方法
2022-07-26 04:13:09
C#图形区域剪切的实现方法
2021-09-12 10:15:50
C#实现的阴历阳历互相转化类实例
2021-12-24 06:41:39
Java中io流解析及代码实例
2023-08-22 16:46:48
SpringBoot整合阿里云短信服务的方法
2022-03-24 18:17:11
Java中方法重写与重载的区别
2022-07-25 04:49:01
android 中 webview 怎么用 localStorage
2023-04-28 04:38:36
spring boot 图片上传与显示功能实例详解
2021-07-02 09:46:02
Java 回调函数深入理解
2023-11-01 17:32:04
Spring AOP源码深入分析
2023-08-15 13:01:16
关于jdk环境变量的配置方式解读
2023-04-22 14:53:05
解决dubbo错误ip及ip乱入问题的方法
2023-08-06 17:18:02
如何使用try-with-resource机制关闭连接
2022-04-25 01:36:54