📄 images.java
字号:
/*
* Images.java
*
* Generated by BamFS - Bambalam J2ME filesystem
*
*/
package game;
import javax.microedition.lcdui.*;
import java.io.*;
public class Images {
final static int BALL_1_1_PNG = 0;
final static int BALL_1_2_PNG = 1;
final static int BALL_1_3_PNG = 2;
final static int BALL_1_4_PNG = 3;
final static int BALL_1_5_PNG = 4;
final static int BFS_EOF = 5;
static int[] bfs_files;
private static String bfs_filename = "/images.bfs";
private static void getFileTable() {
if(bfs_files==null) {
try{
byte[] file = new byte[1];
DataInputStream din = new DataInputStream(file.getClass().getResourceAsStream(bfs_filename));
int num_files = din.readInt();
bfs_files = new int[num_files];
int offset = 0;
int header_size = num_files * 4 + 4;
for(int i=0;i<num_files;i++) {
offset = din.readInt();
bfs_files[i] = offset + header_size;
}
din.close();
} catch(Exception e) {
System.out.println("BamFS getFileTable error: "+e.toString());
}
}
}
public static InputStream getFileAsStream(int file_id) {
getFileTable();
if(preloaded_data_file==null) {
byte[] file = getFile(file_id);
ByteArrayInputStream bis = new ByteArrayInputStream(file);
return bis;
} else {
int size = bfs_files[file_id+1]-bfs_files[file_id];
int offset = bfs_files[file_id];
ByteArrayInputStream bis = new ByteArrayInputStream(preloaded_data_file,offset,size);
return bis;
}
}
private static byte[] preloaded_data_file = null;
public static void preload_files() {
getFileTable();
if(preloaded_data_file==null) {
byte[] file = new byte[1];
try{
DataInputStream din = new DataInputStream(file.getClass().getResourceAsStream(bfs_filename));
preloaded_data_file = new byte[bfs_files[BFS_EOF]];
din.read(preloaded_data_file);
din.close();
} catch(Exception e) {
System.out.println("BamFS preload_files error: "+e.toString());
}
}
}
public static void free_preloaded_files() {
preloaded_data_file = null;
System.gc();
}
public static byte[] getFile(int file_id) {
getFileTable();
byte[] file = new byte[1];
try{
DataInputStream din = new DataInputStream(file.getClass().getResourceAsStream(bfs_filename));
int size = bfs_files[file_id+1]-bfs_files[file_id];
int offset = bfs_files[file_id];
file = new byte[size];
din.skipBytes(offset);
din.read(file);
din.close();
} catch(Exception e) {
System.out.println("BamFS getFile error: "+e.toString());
}
return file;
}
public static Image createImage(int file_id) {
getFileTable();
Image return_img = null;
try{
if(preloaded_data_file==null) {
byte[] img = getFile(file_id);
return_img = Image.createImage(img,0,img.length);
img = null;
} else {
int size = bfs_files[file_id+1]-bfs_files[file_id];
int offset = bfs_files[file_id];
return_img = Image.createImage(preloaded_data_file,offset,size);
}
} catch(Exception e) {
System.out.println("BamFS createImage error:"+e.toString());
}
return return_img;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -