J2ME的RMS读写实现

以下代码出自http://blog.csdn.net/hellogv/,引用请注明出处!

在实现RMS的读写前,首先要注意RMS对汉字不兼容,为了解决这个这个首要问题,首先要编写以下两个成员函数:

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; }

//有上面的成员函数,接下来,就可以实现RMS的读写:

public String Read()//返回值就是上次保存的记录 { try{ rms=RecordStore.openRecordStore("XXXX",true,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 Number)//保存Numb { try{ rms=RecordStore.openRecordStore("XXXX",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 "成功替换原号码/n新号码保存成功!"; } 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、付费专栏及课程。

余额充值