你的位置:首页 > Java教程

[Java教程][开发手记] 一款基于命令行的英英词典 (A CLI


A CLI-Based EE Dictionary Supported by API of "Merriam-Webster's Collegiate® Dictionary with Audio"
(一款基于命令行的英英词典, 由<韦氏®大词典(综合版)>API提供支持)

GitHub项目地址: https://github.com/hwding/seekDict

如果有疑问及建议请在该repository页面的issues中提出!

 

准备工作:

  • 在韦氏大辞典开发者网站申请一个API
  • 了解Java对
  • 了解Java对文件的读写(用于存储Cache文件)

 

程序流程:

COND1: 传入单词或词组 -> 本地是否已有缓存文件? -> 否 -> 拼接请求URL -> 提交 -> 取得返回

 

 -> 是否为有效查询? -> 是 -> 打印结果

 

                  -> 否 -> 是否有建议单词或词组? -> 是 -> 提示查无此词并打印建议 -> 删除本地缓存文件

 

                             -> 否 -> 提示查无此词 -> 删除本地缓存文件

 

COND2: 传入单词或词组 -> 本地是否已有缓存文件? -> 是 -> 开始解析-> 打印结果

可以看出将查询有效的结果缓存在本地可以极大程度的简化重复查询的流程, 以提高效率.

 

难点:

  • 返回的
  • 不同层次信息的组织与显示

 

注意事项:

 

1 File file = new File(CACHE_PATH, string + ".tmp");2 DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();3 DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();4 Document document = documentBuilder.parse(file);5 Element rootElement = document.getDocumentElement();6 NodeList content = rootElement.getChildNodes();

 

 

首先读出请求之后缓存在本地的结果文件, 将其解析为Document类, 再使用DOM方法去解析

逐层解析后, 将收集到的信息根据

(具体实现请见见项目地址中的源码, 注释会陆续补充)

 

截图:

  帮助信息(正在完善中)

  

 

  有效查询结果

  

 

  无效查询结果并提供拼写建议