自己写的操作 RMS类

自己写了个RMS操作类,使用单例模式。

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

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();
             byte[] r=rms.getRecord(1);
             rms.closeRecordStore();//关闭记录表连接
             if (NumberTotal==0)//当记录到的电话号码数量为零
             {
              return "";//返回空字符
             }
             else
             {
              return BytesToString(r);//这里只读取一个记录
             }
            
                    }
                    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 "Add Sus!";
      }
     catch(Exception e){
     try{
         rms.closeRecordStore();
         }
       catch(Exception ee){}}
  return "Error!";
  }
  
  
  
  
  
  public String[] NRead(String name)//可以读取多行记录
  {
   String[] result=new String[0];
   try{
            rms=RecordStore.openRecordStore(name,false,RecordStore.AUTHMODE_ANY,true);//XXXX就是记录集合
            int   NumberTotal =rms.getNumRecords();
            if (NumberTotal==0)//如果没记录
            {
             return result;//返回空字符
            }
            else
            {
             result=new String[NumberTotal];
             for(int i=1;i<=NumberTotal;i++)//循环读取记录
             {
              //把读取的记录赋到String 数组中
              
               result[i-1]=BytesToString(rms.getRecord(i));
                              
             }
             rms.closeRecordStore();
             return result;//返回这个数组
            }
            
          }
     catch(Exception e)
     {
      try{
          rms.closeRecordStore();
          }
        catch(Exception ee){}
      return result;//失败,没有读取任何信息
     }
  }
  

  public String NSave(String name,String Number)//保存Numb并不把以前的替换掉
  {
   try{
        rms=RecordStore.openRecordStore(name,true,RecordStore.AUTHMODE_ANY,true);//XXXX就是记录集合
        byte[] data = StringtoBytes(Number);//--------------以下只新建一条记录或者只修改一条记录
        rms.addRecord(data, 0, data.length);//创建记录
       rms.closeRecordStore();
       return "Add Sus!";
      }
     catch(Exception e){
     try{
         rms.closeRecordStore();
         }
       catch(Exception ee){}}
  return "Error!";
  }

  public String Update(String name,String Record,int num)
  {
   try {
    rms=RecordStore.openRecordStore(name,false,RecordStore.AUTHMODE_ANY,true);
   
    byte[] data=StringtoBytes(Record);
   
    rms.setRecord(num,data,0,data.length);
    rms.closeRecordStore();
    return "Add Sus";
   }catch(Exception e){
      try{
          rms.closeRecordStore();
          }
        catch(Exception ee){}}
   
   return "Error!";
  }
  
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值