📄 productdb.java
字号:
/*
* ProductDb.java
* 用于在通过记录文件读入与保存产品记录
* Created on 2004年2月7日, 下午8:50
*/
import javax.microedition.rms.*;
import java.lang.*;
import java.util.*;
/**
*
* @author wenyy
* @version
*/
public class ProductDb {
public static final String recName="antiJP"; //记录文件名称
public RecordStore rec=null; //保存记录文件对象
public ProductDb() {
}
//从记录文件中读入所有产品记录
public int readFromDb(Vector array) {
int size = 0;
if(! isDbExist()) // 记录文件不存在
return size;
if(!openDb()) // 打开记录文件失败
return size;
RecordEnumeration enum1 = openAllRecord(false);
while(enum1.hasPreviousElement()) {//读入所有记录
try {
byte[ ] read = enum1.previousRecord();
String s = new String(read);
array.addElement( s);
size ++;
}
catch(Exception e) {
break; //出现错误时退出
}
}
enum1.destroy();
closeDb();
return size;
}
//将数组中所有记录写入记录文件,先删除原有记录文件并重建
public void writeIntoDb(Vector array)
{
if( isDbExist()) {
// 记录文件存在则删除原文件
deleteDb();
}
if( !createDb()) //无法创建记录文件
return;
if( !openDb()) //无法打开记录文件
return;
for(int i=0;i<array.size();i++) {
String s = (String)array.elementAt(i);
byte[] write = s.getBytes();
try {
rec.addRecord(write, 0, write.length);
}
catch(Exception e){ }
}
closeDb(); //关闭记录文件并退出
}
//下面的方法是对RMS 功能的封装
//检测记录文件是否存在
public boolean isDbExist() {
try {//打开然后关闭记录文件,通过异常类型来判断记录文件是否存在
RecordStore rs = RecordStore.openRecordStore(recName, false);
rs.closeRecordStore();
rs=null;
}
catch(RecordStoreFullException e1) { return true;}
catch(RecordStoreNotFoundException e2){//捕捉到记录不存在的错误,表示记录文件不存在
return false;
}
catch(RecordStoreException e3) { }
return true;
}
//打开记录文件
public boolean openDb() {
try {
rec = RecordStore.openRecordStore(recName, false);
return true;
}
catch(Exception e) { }
return false;
}
//关闭记录文件
public boolean closeDb() {
if(rec != null) {
try {
rec.closeRecordStore();
rec = null;
return true;
}
catch(Exception e) { }
}
return false;
}
//创建记录文件
public boolean createDb() {
//创建文件前请先检查记录文件是否已经存在
try{//通过打开记录文件的方式来进行创建
RecordStore rs = RecordStore.openRecordStore(recName, true);
rs.closeRecordStore();
rs=null;
return true;
}
catch(Exception e){ }
return false;
}
//删除记录文件
public boolean deleteDb() {
//删除文件前请先检查记录文件是否已经存在
try {
RecordStore.deleteRecordStore(recName);
return true;
}
catch(Exception e) { }
return false;
}
//打开所有包含所有记录的结果集
public RecordEnumeration openAllRecord(boolean autoUpdate) {
RecordEnumeration enum1 = null;
try{
enum1 = rec.enumerateRecords(null, null, autoUpdate);
}
catch (Exception e) { }
return enum1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -