Files
HRMS/hrmsEjb/jxl/biff/ByteArray.java
2025-07-28 13:56:49 +05:30

48 lines
1003 B
Java

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;
}
}
}