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

📄 wordlist.java

📁 简易词典
💻 JAVA
字号:
import java.io.*;
import java.util.*;

public class WordList
{
     private Vector<String> dictionary;
     private Vector<String> queryResult;
     private int dictionarySize = 0;
     private int queryResultSize = 0;

     public WordList() throws IOException // 构造函数
     {
          init(); // 初始化
     }

     public void init() throws IOException // 初始化预置词典
     {
          // 实例化一个向量
          dictionary = new Vector<String>(40000, 20000);
          queryResult = new Vector<String>(5000);

          // 从jar文件里读取内置词库
          BufferedReader br = new BufferedReader(new InputStreamReader(WordList.class.getResourceAsStream("/wordlib.txt")));
          String aWord = null;
          while((aWord = br.readLine()) != null) { // 循环判断文件是否读取完毕
               if(aWord.length() == 0) continue; // 过滤空白行
               dictionary.addElement(aWord); // 将一个词加入词典
          }
          br.close(); // 关闭文件输入流
          // 文件读取完毕
          setDictionarySize(dictionary.size()); // 设置词典包含的词数
     }

     public void addWord(String word) // 向词典中添加一个词
     {
          dictionary.addElement(word);
     }

     public void addWords(Vector<String> words) // 向词典中添加一批词
     {
          for(int i = 0; i < words.size(); i++)
               dictionary.addElement(words.elementAt(i));
     }

     public Vector<String> getDictionary() // 返回词典
     {
          return dictionary;
     }

     public int getDictionarySize() // 获取词典包含的词数
     {
          return dictionarySize;
     }

     private void setDictionarySize(int size) // 设置词典包含的词数
     {
          dictionarySize = size;
     }

     public void setDictionary(File wordLibFile) throws IOException // 将词典设置为指定文件中的词库
     {
          dictionary.removeAllElements(); // 移除预置词典中的所有词

          BufferedReader br = new BufferedReader(new FileReader(wordLibFile)); // 创建文件输入流
          String aWord = null;
          while((aWord = br.readLine()) != null) { // 循环判断文件是否读取完毕
               if(aWord.length() == 0) continue; // 过滤空白行
               dictionary.addElement(aWord); // 将一个词加入词典
          }
          br.close(); // 关闭文件输入流
          // 文件读取完毕
          setDictionarySize(dictionary.size());
     }

     public Vector<String> qeury(String queryWord)
     {
          queryResult.removeAllElements(); // 移除查询结果库中的所有词

          String word = null;
          for(int i = 0; i < getDictionarySize(); i++) {
               if(dictionary.elementAt(i).contains(queryWord)) {
                    word = dictionary.elementAt(i);
                    queryResult.addElement(highLight(word, queryWord));
               }
          }
          queryResultSize = queryResult.size();
          return queryResult;
     }

     public int getQueryResultSize()
     {
          return queryResultSize;
     }

     public String highLight(String word, String queryWord)
     {
          String formattedWord = null;
          formattedWord = "<html>" + word.substring(0, word.indexOf(queryWord)) +
                          "<font color=red>" + queryWord + "</font>" + // 高亮 查询部分
                          word.substring(word.indexOf(queryWord) + queryWord.length()) +
                          "</html>";
          return formattedWord; // 返回格式化的字符串
     }
}

⌨️ 快捷键说明

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