first commit
This commit is contained in:
47
hrmsEjb/jxl/biff/ByteArray.java
Normal file
47
hrmsEjb/jxl/biff/ByteArray.java
Normal file
@@ -0,0 +1,47 @@
|
||||
package jxl.biff;
|
||||
|
||||
public class ByteArray {
|
||||
private int growSize;
|
||||
|
||||
private byte[] bytes;
|
||||
|
||||
private int pos;
|
||||
|
||||
private static final int defaultGrowSize = 1024;
|
||||
|
||||
public ByteArray() {
|
||||
this(1024);
|
||||
}
|
||||
|
||||
public ByteArray(int gs) {
|
||||
this.growSize = gs;
|
||||
this.bytes = new byte[1024];
|
||||
this.pos = 0;
|
||||
}
|
||||
|
||||
public void add(byte b) {
|
||||
checkSize(1);
|
||||
this.bytes[this.pos] = b;
|
||||
this.pos++;
|
||||
}
|
||||
|
||||
public void add(byte[] b) {
|
||||
checkSize(b.length);
|
||||
System.arraycopy(b, 0, this.bytes, this.pos, b.length);
|
||||
this.pos += b.length;
|
||||
}
|
||||
|
||||
public byte[] getBytes() {
|
||||
byte[] returnArray = new byte[this.pos];
|
||||
System.arraycopy(this.bytes, 0, returnArray, 0, this.pos);
|
||||
return returnArray;
|
||||
}
|
||||
|
||||
private void checkSize(int sz) {
|
||||
while (this.pos + sz >= this.bytes.length) {
|
||||
byte[] newArray = new byte[this.bytes.length + this.growSize];
|
||||
System.arraycopy(this.bytes, 0, newArray, 0, this.pos);
|
||||
this.bytes = newArray;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user