程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> 單例模式的RMS訪問類

單例模式的RMS訪問類

編輯:J2ME
單例模式的RMS訪問類 作者:liq330    文章來源:本站原創    更新時間:2007-6-11 8:47:15 374

我也是剛學,給新手用吧,代碼有一些也是別人的,不足的地方自己改進一下啦.這樣操作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 "不能保存!";
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved