WEB开发网
开发学院软件开发Java J2ME的RMS读写实现 阅读

J2ME的RMS读写实现

 2009-09-12 00:00:00 来源:WEB开发网   
核心提示:在实现RMS的读写前,首先要注意RMS对汉字不兼容,J2ME的RMS读写实现,为了解决这个这个首要问题,首先要编写以下两个成员函数: 1. public byte[] StringtoBytes(String Str) { //写成字节 2. 3. byte[] STB = null; 4. 5. try {

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

   1. public byte[] StringtoBytes(String Str) { //写成字节 
   2.  
   3. byte[] STB = null; 
   4.  
   5. try { 
   6.  
   7. ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
   8.  
   9. DataOutputStream dos = new DataOutputStream(baos); 
  10.  
  11. dos.writeUTF(Str); 
  12.  
  13. STB = baos.toByteArray(); 
  14.  
  15. baos.close(); 
  16.  
  17. dos.close(); 
  18.  
  19. } catch (Exception e) { 
  20.  
  21. e.printStackTrace(); 
  22.  
  23. } 
  24.  
  25. return STB; 
  26.  
  27. } 
  28.  
  29.  
  30.  
  31. public String BytesToString(byte[] rec) { //从字节读取内容 
  32.  
  33. ByteArrayInputStream bais = new ByteArrayInputStream(rec); 
  34.  
  35. DataInputStream dis = new DataInputStream(bais); 
  36.  
  37. String BTS=null; 
  38.  
  39. try { 
  40.  
  41. BTS=dis.readUTF(); 
  42.  
  43. bais.close(); 
  44.  
  45. dis.close(); 
  46.  
  47. } catch (Exception e) { 
  48.  
  49. e.printStackTrace(); 
  50.  
  51. } 
  52.  
  53. return  BTS; 
  54.  
  55. } 

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

   1. public String Read()//返回值就是上次保存的记录 
   2.  
   3.    { try{ 
   4.  
   5.          rms=RecordStore.openRecordStore("XXXX",true,RecordStore.AUTHMODE_ANY,true);//XXXX就是记录集合 
   6.  
   7.            int   NumberTotal =rms.getNumRecords(); 
   8.  
   9.            if (NumberTotal==0)//当记录到的电话号码数量为零 
  10.  
  11.             return "";//返回空字符 
  12.  
  13.            return BytesToString(rms.getRecord(1));//这里只读取一个记录 
  14.  
  15.                   } 
  16.  
  17.                   catch(Exception e){ return "";} //失败,没有读取任何信息 
  18.  
  19.    } 
  20.  
  21. public String Save(String Number)//保存Numb 
  22.  
  23.  
  24.  
  25. { 
  26.  
  27.  try{ 
  28.  
  29.       rms=RecordStore.openRecordStore("XXXX",true,RecordStore.AUTHMODE_ANY,true);//XXXX就是记录集合 
  30.  
  31.       byte[] data = StringtoBytes(Number);//--------------以下只新建一条记录或者只修改一条记录 
  32.  
  33.       if (rms.getNumRecords()==0)//没有任何记录 
  34.  
  35.        rms.addRecord(data, 0, data.length);//创建记录 
  36.  
  37.       if(rms.getNumRecords()==1)//只有当前一个记录 
  38.  
  39.           rms.setRecord(1,data, 0, data.length);//修改记录 
  40.  
  41.      rms.closeRecordStore();//--------------以上只新建一条记录或者只修改一条记录 
  42.  
  43.      return "成功替换原号码\n新号码保存成功!"; 
  44.  
  45.     } 
  46.  
  47.    catch(Exception e){ 
  48.  
  49.    try{ 
  50.  
  51.        rms.closeRecordStore(); 
  52.  
  53.        } 
  54.  
  55.      catch(Exception ee){}} 
  56.  
  57. return "不能保存新号码!"; 
  58.  
  59. }

Tags:JME RMS 读写

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接