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 + -
显示快捷键?