單例模式的RMS訪問類

我也是剛學,給新手用吧,代碼有一些也是別人的,不足的地方自己改進一下啦.這樣操作RMS方便多了.

老鳥會寫出更好的東西的.

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;

import javax.microedition.rms.RecordStore;

public class rms {

 private  rms() {
  super();
  // TODO 自動生成構造函數存根
 }
 
 //單例模式
 
    static rms inirms=null;
 
 public static rms iniRms()
 {
     if(inirms==null)
     {
      inirms=new rms(); 
     }
     return inirms;
 }
 
 
 public byte[] StringtoBytes(String Str) { //寫成字節
  byte[] STB = null;
  try {
  ByteArrayOutputStream baos = new ByteArrayOutputStream();
  DataOutputStream dos = new DataOutputStream(baos);
  dos.writeUTF(Str);
  STB = baos.toByteArray();
  baos.close();
  dos.close();
  } catch (Exception e) {
  e.printStackTrace();
  }
  return STB;
  }

  public String BytesToString(byte[] rec) { //從字節讀取內容
  ByteArrayInputStream bais = new ByteArrayInputStream(rec);
  DataInputStream dis = new DataInputStream(bais);
  String BTS=null;
  try {
  BTS=dis.readUTF();
  bais.close();
  dis.close();
  } catch (Exception e) {
  e.printStackTrace();
  }
  return  BTS;
  }

  RecordStore rms;
  public String Read(String name)//返回值就是上次保存的記錄
     {
   try{
           rms=RecordStore.openRecordStore(name,false,RecordStore.AUTHMODE_ANY,true);//XXXX就是記錄集合
             int   NumberTotal =rms.getNumRecords();
             if (NumberTotal==0)//當記錄到的電話號碼數量爲零
              return "";//返回空字符
             return BytesToString(rms.getRecord(1));//這裏只讀取一個記錄
                    }
                    catch(Exception e){ return "";} //失敗,沒有讀取任何信息
     }
  public String Save(String name,String Number)//保存Numb

  {
   try{
        rms=RecordStore.openRecordStore(name,true,RecordStore.AUTHMODE_ANY,true);//XXXX就是記錄集合
        byte[] data = StringtoBytes(Number);//--------------以下只新建一條記錄或者只修改一條記錄
        if (rms.getNumRecords()==0)//沒有任何記錄
         rms.addRecord(data, 0, data.length);//創建記錄
        if(rms.getNumRecords()==1)//只有當前一個記錄
            rms.setRecord(1,data, 0, data.length);//修改記錄
       rms.closeRecordStore();//--------------以上只新建一條記錄或者只修改一條記錄
       return "添加成功!";
      }
     catch(Exception e){
     try{
         rms.closeRecordStore();
         }
       catch(Exception ee){}}
  return "不能保存!";
  }


}
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章