📄 productloader.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 + -