savestaterecord.java
来自「一个J2ME的RPG游戏」· Java 代码 · 共 111 行
JAVA
111 行
import javax.microedition.rms.*;
public class SaveStateRecord {
private RecordStore rs;
private String rsName;
public SaveStateRecord(String name) {
rsName = name;
try {
if (existRecordStore(name)) //如果存在该rs,直接打开
{
rs = RecordStore.openRecordStore(name, false);
} else {
rs = RecordStore.openRecordStore(name, true); //否则创建打开
// rs.addRecord(null, 0, 0);
}
} catch (RecordStoreNotFoundException e) {
System.out.println("Open Record Error");
System.out.println(e.toString());
} catch (Exception e) {
System.out.println(e.toString());
}
}
public void addRecord(byte[] rec) {
try {
rs.addRecord(rec, 0, rec.length); //把rec的内容增加到记录区
// rs.setRecord(1, rec, 0, rec.length);
} catch (Exception e) {
System.out.println("Add Record Error");
System.out.println(e.toString());
}
}
public void close() {
try {
rs.closeRecordStore(); //关闭rs
} catch (Exception e) {
System.out.println("Close Record Error");
System.out.println(e.toString());
}
}
public boolean IsEmpty() //检测rs里是否存在记录
{
try {
if (rs.getNumRecords() > 0) {
return false;
} else {
return true;
}
} catch (Exception e) {
System.out.println("Get Record Number Error");
System.out.println(e.toString());
}
return true;
}
public void SetRecord(int recordId, byte[] buffer) {
try //重设某个ID的内容
{
rs.setRecord(recordId, buffer, 0, buffer.length);
} catch (Exception e) {
System.out.println("Set Record Error");
System.out.println(e.toString());
}
}
public byte[] getRecord(int recordId) {
byte buffer[];
try { //获取某ID的内容 ,以byte字节数组返回
buffer = rs.getRecord(recordId);
return buffer;
} catch (Exception e) {
System.out.println("Get Record Error");
System.out.println(e.toString());
}
return null;
}
public void removeAll() { //删除该rs
try {
rs.deleteRecordStore(rsName);
} catch (Exception e) {
System.out.println("Remove All Record Error");
System.out.println(e.toString());
}
}
private boolean existRecordStore(String recordName) { //判断该名字的rs是否存在
boolean existRs = true;
RecordStore rsTemp = null;
try {
rsTemp = RecordStore.openRecordStore(recordName, false);
} catch (Exception e) {
existRs = false;
System.out.println("Test Record Exist Error");
System.out.println(e.toString());
} finally {
try {
rsTemp.closeRecordStore();
} catch (Exception e) {
System.out.println("Close Record Error");
System.out.println(e.toString());
}
}
return existRs;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?