+ private byte[] bytes(File bfile) {
+ byte[] bytes = new byte[2 * 1024];
+ int pos = 0, in = 0;
+ try {
+ InputStream bin = new FileInputStream(bfile);
+ while ((in = bin.read(bytes, pos, bytes.length - pos)) != -1) {
+ pos += in;
+ if (pos == bytes.length) {
+ byte[] newbytes= new byte[pos * 2];
+ System.arraycopy(bytes, 0, newbytes, 0, pos);
+ bytes = newbytes;
+ }
+ }
+ bin.close();
+ } catch (IOException e) {
+ System.out.println("Error reading class file"); // FIXME
+ e.printStackTrace(); return null;
+ }
+
+ if (pos != bytes.length) {
+ byte[] newbytes= new byte[pos * 2];
+ System.arraycopy(bytes, 0, newbytes, 0, pos);
+ bytes = newbytes;
+ }
+
+ return bytes;
+ }