自己写的操作 RMS类
来源:互联网 发布:汪涵人设崩 知乎 编辑:程序博客网 时间:2024/04/18 04:13
自己写了个RMS操作类,使用单例模式。
package mainclass;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
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;
}
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;
}
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 数组中
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);//--------------以下只新建一条记录或者只修改一条记录
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!";
}
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!";
}
}
- 自己写的操作 RMS类
- 用自己写的rms引擎写的电话本
- 简单的RMS操作
- 自己写的字符串操作类
- 自己写的文件操作工具类
- 自己写的一个 ini 操作类
- 打造自己的RMS框架(一) RMS概念
- 打造自己的RMS框架(二) RMS基础应用
- 面向对象的RMS操作
- 自己写的单链表操作
- 打造自己的RMS框架(三)
- 学习j2me rms写的一点东西
- 自己写的针对xml操作的类
- 我自己写的一个操作数据库的类
- 自己写的一个数据库操作类(C#)[原创]
- 自己写的一个JavaScript 操作XML 封装类
- 自己写的一个注册表操作类----相当实用
- androd SQLite 自己写的数据库操作类
- 深入浅出之正则表达式
- 在Oracle中使用序列创建唯一流水号
- 黑客开发出思科路由器后门
- 关于在VISIO中进行数据库建模时如何显示字段类型,以及注释的
- 我爱你中国,我爱你中华民族
- 自己写的操作 RMS类
- uclinux-2008r1-rc8(bf561)的中断处理(4):_evt_ivhw
- 2008年17款远程控制软件大比拼
- C#(.NET)生成高质量(清晰)缩略图
- 最新 Jazz 入门文档
- 用sendredirect还是forward?页面跳转续~
- 计算二值图像的重心
- C#中ref和out的使用小结
- DB2 V9.5 备份还原增强特性,第1部分