单例模式的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 "不能保存!";
  }


}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值