文档章节

byteUtils分享

900
 900
发布于 2015/11/19 16:12
字数 215
阅读 6
收藏 0

在网上找了一个操作byte的工具类,然后自己修改了一下。主要是实现可以动态添加byte的功能,类似Stringbuffer的byteBuffer

package utils;
import java.util.Arrays;
/**
 * byte工具类,类似StringBuffer作用
 * @author wangkexi
 * @version 2015年11月19日 下午3:44:50
 */
public class ByteUtils {
 private int size;
 private byte[] buffer;
 
 public byte[] getBuffer() {
  if(size>buffer.length){
   return buffer;
  }else{
   return Arrays.copyOf(buffer,size);
  }
 }
 private final int kBufferSizeIncrease = 512;
 private final int kDefaultBufferSize = 512;
 public ByteUtils() {
  buffer = new byte[kDefaultBufferSize];
  size = 0;
 }
 public long getSize() {
  return size;
 }
 public void setSize(int size) {
  this.size = size;
 }
 public ByteUtils append(byte[] buf, int length) {
  if (size + length > buffer.length) {
   buffer = Arrays.copyOf(buffer, buffer.length + kBufferSizeIncrease);
  }
  System.arraycopy(buf, 0, buffer, size, length);
  size += length;
  return this;
 }
 public ByteUtils append(Byte byte1){
  if (size + 1 > buffer.length) {
   buffer = Arrays.copyOf(buffer, buffer.length + kBufferSizeIncrease);
  }
  buffer[size]=byte1;
  size +=1;
  return this;
 }
 public void erase(int begin, int count) {
  if (begin + count > size) {
   //Log.i("erase begin + count > size",".");
   size = begin;
  } else {
   //Log.i("erase else",".");
   int startIndex = begin + count;
   System.arraycopy(buffer, startIndex, buffer, begin, size-startIndex);
   size -= count;
  }
 }
 
 public void clear()
 {
  buffer = new byte[kDefaultBufferSize];
  size = 0;
 }
}

© 著作权归作者所有

900

900

粉丝 5
博文 18
码字总数 6054
作品 0
崇明
私信 提问
NSNotification中,改变UI

在A界面中有这样一个通知, [[NSNotificationCenter defaultCenter] postNotificationName:@"lanStatus" object:status]; 在B界面中进行接收 [[NSNotificationCenter defaultCenter]addObse......

ydww
2014/07/21
73
1
使用IntelliJ IDEA+jeety启动项目时报错:方法已过时

我用eclipse+jeety启动一个javaweb项目时是正常的,使用IntelliJ IDEA+jeety启动同一个项目时就报错,不知道是怎么回事求大神指教;错误如下: D:\newtouch\git\newtouch-lion\framework1.0\co...

写点儿
2016/01/07
2.1K
0
翻翻git之---实用工具类Lazy(绝对的好东西,走过路过别错过)

版权声明:本文为博主原创文章,允许转载,但请保留出处。 https://blog.csdn.net/ddwhan0123/article/details/50624061 转载请注明出处:这里写链接内容 今天还是继续昨天的从Git上找点“有...

王亟亟
2016/02/02
0
0
调用ShareSDK快捷分享(有界面)的方法实现分享功能

Android 快捷分享 注意: 本文介绍的是调用ShareSDK快捷分享(有界面)的方法实现分享功能。如果您想查询ShareSDK内置(无界面)的分享方法,请参考“分享到指定平台” 分享前请阅读不同平台...

lanis
2014/08/22
21.4K
0
iOS自定义分享界面(集成ShareSDK社会化分享组件)

先定义一键分享列表 NSArray *oneKeyShareList = [ShareSDK getShareListWithType : ShareTypeSinaWeibo, ShareTypeTencentWeibo, nil ]; 再创建一个ShareOptions对象,用来定义分享行为。并......

lanis
2014/08/12
8.5K
1

没有更多内容

加载失败,请刷新页面

加载更多

射频特征阻抗

Characteris Impendance(特性阻抗,也称为‘特征阻抗’)是我们经常看到并使用自己的术语之一,但非常模糊且难以解释。以下是来自几个不同来源的Characteris Impendance(特性阻抗)的一些定义。...

demyar
29分钟前
5
0
Spring Boot Tomcat配置项

参数配置容器 server.xx开头的是所有servlet容器通用的配置,server.tomcat.xx开头的是tomcat特有的参数,其它类似。 所有参数绑定配置类:org.springframework.boot.autoconfigure.web.Serv...

xiaomin0322
33分钟前
7
0
微课程 | 第二课《Docker 安装方式介绍》

微课程 | 第二课《Docker 安装方式介绍》视频 https://v.youku.com/v_show/id_XNDQ0NDUzNjkxNg==.html?spm=a2hzp.8244740.0.0 上一期我们介绍了 DBLE 的基本概况,下面进入我们的正题,正题基...

爱可生
33分钟前
6
0
GUAVA--基础工具(Preconditions)

1、前置条件 俗话说丑话讲在前面,在做某些事情的时候是需要做一些前置条件的。假如需要修改一条数据的话,当参数传进来,我们要先查询这条数据是否存在。这时候就需要一个if了,如果参数还需...

MrYuZixian
47分钟前
7
0
PythonSpot 中文系列教程 · 翻译完成

原文:PythonSpot Python Tutorials 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 在线阅读 ApacheCN 学习资源 目录 PythonSpot 中文系列教...

ApacheCN_飞龙
55分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部