|
Java中利用散列表实现股票行情的查询(2) String delim, boolean returnTokens); public StringTokenizer(String str, String delim); public StringTokenizer(String str); 其中,str为需分析的字符串,delim为定界符, Tokens描述是否将定界符作为一个token。
---- 其它常用的方法有: public boolean hasMoreTokens() ; //判断字符串中是否还有token public String nextToken();// StringTokenizer对象的下一个token
四、实例---- 本文使用的股票行情为上海和深圳证券交易所的收盘行情,文件名为hqsj.txt,下面是文件中的一行数据: ---- 600122宏图高科 18.90 18.80 18.90 18.20 18.27 3155 582.96 ---- 下面是完整的源程序,在JDK1.2下使用javac编译通过。 import java.io.*; import java.util.*; import java.awt.*; import java.applet.*; import java.awt.event.*;
public class StockQuote extends Applet implements ActionListener { private static final File INFO_FILE = new File("hqsj.txt"); private Hashtable stockInfo; TextField stockID; Button button1; private String quoteid,quotename;
public void init() { add(new Label("股票代码")); stockID = new TextField(6); add(stockID); button1 = new Button("查询"); button1.addActionListener(this); add(button1); resize(500, 300); }
public void start() { loadinfo(); }
protected boolean loadinfo() { String fileLine; StringTokenizer tokenize; String id; StringBuffer name;
try { // 创建一个访问数据文件的stream BufferedReader stockInput = new BufferedReader(new FileReader(INFO_FILE)); // 创建Hashtable对象 stockInfo = new Hashtable(); // 每次从文件中读一行数据 while ((fileLine = stockInput.readLine()) != null) { // 将每一行数据分解为tokens. tokenize = new StringTokenizer(fileLine); try { id = tokenize.nextToken(); // 创建一个放置股票信息的buffer name = new StringBuffer(); while(tokenize.hasMoreTokens()) { name.append(tokenize.nextToken()); if (tokenize.hasMoreTokens()) { name.append(""); } } // 向Hashtable中充填记录 stockInfo.put(id,name.toString()); } catch(NullPointerException excpt) {
|