⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 productdb.java

📁 一个反日货查询程序
💻 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 + -