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

📄 productloader.java

📁 一个反日货查询程序
💻 JAVA
字号:
/*
 * ProductLoader.java
 * 用于保存加载保存在资源文件和持续存储器中的产品记录
 * Created on 2004年2月5日, 下午4:15
 */

import javax.microedition.midlet.*;
import java.io.*;
import java.lang.*;
import java.util.*;

/**
 *
 * @author  wenyy
 * @version
 */
public class ProductLoader {
    public Vector arrayLines; //保存所有的产品记录
    public ProductLoader(){
        arrayLines = new Vector();
    }
    //得到已经装入的产品记录条数
    public int size(){
        return arrayLines.size();
    }
    //装入产品记录
    //返回装入记录后总的记录数量
    public int  reLoad() {
        arrayLines.removeAllElements();
        loadFromResource("/txt/list.txt");
        loadFromDb();
        return size() ;
    }
    //将字符串中的产品记录保存到持续存储记录文件中
    public void saveResult(String src) {
        Vector array = new Vector();
        splitResult(array, src);
        ProductDb db = new ProductDb();
        db.writeIntoDb(array);
        db = null;
        array = null;
    }
    //从文本资源中装入符串
    protected boolean loadFromResource(String urlTxt) {
        String strRet = null;
        try {
            //从资源中读入文本文件,内容见参考书 3.6 节
            InputStream is = this.getClass().getResourceAsStream(urlTxt);
            byte[ ] datain = new byte[is.available()];
            is.read(datain);
            is.close();
            is = null;
            strRet = new String(datain);
        } catch(Exception e) {
            System.out.println("Load resource error");
        }
        if( strRet != null){
            splitResult(arrayLines, strRet);
            return true;
        }
        return false;
    }
    //从持续存储记录文件中装入记录
    protected void loadFromDb() {
        ProductDb db = new ProductDb();
        db.readFromDb(arrayLines);
        db = null;
    }
    //将字符串分解为单条记录,通过回车符号分隔每条产品记录
    protected void splitResult(Vector array, String str) {
        int lastIdx = 0;
        int foundIdx = 0;
        try{
            while(lastIdx < str.length()) {
                if('\n' == str.charAt(lastIdx) || '\r'== str.charAt(lastIdx)) {
                    lastIdx++;
                    continue;
                }
                foundIdx = str.indexOf('\n',lastIdx);
                if(foundIdx <0)
                    break;
                String line=str.substring(lastIdx,foundIdx -1);
                array.addElement(line);
                lastIdx = foundIdx+1;
            }
        } catch(Exception e) { 
            System.out.println("splitResult error ="+e.getMessage());
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -