80,493
社区成员
发帖
与我相关
我的任务
分享
package com.test;
import java.io.InputStream;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
public class BinReader extends Activity {
//读取指定文件并返回字节数组
public byte[] readFile(String binfile, int pos)
{
byte buffer[];
int len;
try {
InputStream is = this.getClass().getResourceAsStream("/" + binfile);
is.skip(pos);
len = (is.read() & 0xFF) << 24;
len = (is.read() & 0xFF) << 16;
len = (is.read() & 0xFF) << 8;
len = (is.read() & 0xFF);
buffer = new byte[len];
is.read(buffer, 0, buffer.length);
is.close();
is = null;
System.gc();
} catch (Exception e) {
buffer = null;
e.printStackTrace();
System.gc();
return null;
}
return buffer;
}
/**************************************************************************************
* Reads a file from the BIN file and return data as an Image
**************************************************************************************/
public Bitmap readImage(String binfile, long pos)
{
byte buffer[];
int len;
try {
InputStream is = this.getClass().getResourceAsStream("/" + binfile);
is.skip(pos);
len = (is.read() & 0xFF) << 24;
len |= (is.read() & 0xFF) << 16;
len |= (is.read() & 0xFF) << 8;
len |= (is.read() & 0xFF);
buffer = new byte[len];
is.read(buffer, 0, buffer.length);
is.close();
is = null;
System.gc();
} catch (Exception e) {
buffer = null;
e.printStackTrace();
System.gc();
return null;
}
return BitmapFactory.decodeByteArray(buffer, 0, buffer.length);
}
}
BinReader br;
Bitmap image;
br.readImage("image.bin", 0);