import javax.microedition.rms.*;import java.lang.String;import java.io.*;public class SA{RecordStore sa=null;//定义临时数据存储器byte[] tempdata;//临时存储数据的字节SA(){}//检测暂存数据库是否打开public boolean tO(){boolean o=false;try{sa=RecordStore.openRecordStore("temp",true);RecordEnumeration re=sa.enumerateRecords(null,null,false);if(re.hasNextElement())o=true;elseo=false;close();}catch(RecordStoreException rse){}return(o);}//保存暂存数据public void s(){int i;tempdata=new byte[35];try{tempdata[0]=(byte)(GM.mgc.l>>8&0xff);tempdata[1]=(byte)(GM.mgc.l&0xff);tempdata[2]=(byte)(GM.mgc.m>>8&0xff);tempdata[3]=(byte)(GM.mgc.m&0xff);tempdata[4]=(byte)(GM.mgc.le);tempdata[5]=(byte)(GM.mgc.sp);tempdata[6]=(byte)(GM.mgc.ex>>16&0xff);tempdata[7]=(byte)(GM.mgc.ex>>8&0xff);tempdata[8]=(byte)(GM.mgc.ex&0xff);tempdata[9]=(byte)(GM.mgc.gold>>8&0xff);tempdata[10]=(byte)(GM.mgc.gold&0xff);tempdata[11]=(byte)((GM.mgc.task2?4:0)+(GM.mgc.task?2:0)+(GM.mgc.boat?1:0));tempdata[12]=(byte)(((GM.mgc.dlg[0]?1:0)+((GM.mgc.dlg[2]?1:0)+((GM.mgc.dlg[5]?1:0)for(i=0;itempdata[13+i]=(byte)(GM.mgc.s[i]);for(i=0;itempdata[24+i]=(byte)(GM.mgc.tn[i]);for(i=0;itempdata[29+i]=(byte)(GM.mgc.weapon[i]);if(tO()){d();sa=RecordStore.openRecordStore("temp",true);sa.addRecord(tempdata,0,tempdata.length);close();}else{sa=RecordStore.openRecordStore("temp",true);sa.addRecord(tempdata,0,tempdata.length);close();}tempdata=null;}catch(java.lang.NullPointerException npe){}catch(javax.microedition.rms.RecordStoreException rec){}}//读入暂存数据public void r(){int i;try{System.out.println("in1");sa=RecordStore.openRecordStore("temp",true);tempdata=new byte[35];RecordEnumeration re=sa.enumerateRecords(null,null,false);int nx=re.nextRecordId();tempdata=sa.getRecord(nx);GM.mgc.l=(tempdata[0]GM.mgc.m=(tempdata[2]GM.mgc.le=tempdata[4]&0xff;GM.mgc.sp=tempdata[5]&0xff;GM.mgc.ex=(tempdata[6]GM.mgc.gold=(tempdata[9]GM.mgc.task2=(tempdata[11]>>2&0x00000001)==1?true:false;GM.mgc.task=(tempdata[11]>>1&0x00000001)==1?true:false;GM.mgc.boat=(tempdata[11]&0x00000001)==1?true:false;for(i=0;iGM.mgc.dlg[i]=(tempdata[12]>>(6-i)&0x00000001)==1?true:false;for(i=0;iGM.mgc.s[i]=tempdata[13+i]&0xff;for(i=0;iGM.mgc.tn[i]=tempdata[24+i]&0xff;for(i=0;iGM.mgc.weapon[i]=tempdata[29+i];tempdata=null;close();}catch(Exception rse){System.out.println(rse.toString());}}//删除数据库纪录public void d(){try{RecordStore.deleteRecordStore("temp");}catch(RecordStoreException e){System.err.println(e.getMessage());}} //关闭数据库(每次打开数据库使用后要及时关闭数据库,避免删除数据库操作出错) public void close() {try { if(sa!=null) {sa.closeRecordStore(); }} catch (RecordStoreException ex) {} }}