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

📄 keywordtable.java

📁 实现算法与界面设计的完全分离。很好的封装自己的词法分析程序
💻 JAVA
字号:


import java.util.*;
import java.io.*;
public class KeyWordTable {
 private Hashtable KWHash;
 private File ReserveFile;
 private FileReader resFileReader; //读文件对象
 private int TMP_BUFFER_SIZE = 30;

 public KeyWordTable(java.io.File ReserveFile) {
 System.out.println("关键字表已创建!");
 this.ReserveFile = ReserveFile;
 }

 public boolean isKeyWord(String inw) {
 String resWord;
 //查找hash表
 for (Enumeration e = this.KWHash.elements(); e.hasMoreElements(); ) {
 resWord = (String) e.nextElement();
 if (resWord.equalsIgnoreCase(inw)) {
 return true;
 }
 }
 return false;
 }

 public void initKeyWordTable() {
 KWHash = new Hashtable(); //创建hash表
 //int intLength;
 //char[] chrBuffer = new char[TMP_BUFFER_SIZE];
 String resWord;
 int resCounter = 0;
 try {
 if (ReserveFile.exists()) { //文件存在
 //创建读文件对象
 resFileReader = new java.io.FileReader(ReserveFile);
 //为了按行读//3月9号加
 BufferedReader br = new java.io.BufferedReader(resFileReader); 
 //读文件内容到hash表
 //while ( (intLength = resFileReader.read(chrBuffer)) != -1) {
   while ((resWord=br.readLine())!=null){
 resCounter++;
 //填写hash表
 //resWord = String.valueOf(chrBuffer).trim();
 System.out.println("读取关键字: [INDEX: " + resCounter +
 "][VALUE: " + resWord + "]");
 this.KWHash.put(Integer.toString(resCounter), resWord);
 }
 //关闭读文件对象
 resFileReader.close();
 }
 else { //文件不存在
 System.err.println("[ERROR]保留字文件不存在!");
 }
 }
 catch (Exception e) {
 e.printStackTrace(System.err);
 }
 }
}

⌨️ 快捷键说明

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