A CLI-Based EE Dictionary Supported by API of "Merriam-Webster‘s Collegiate® Dictionary with Audio"

(一款基于命令行的英英词典, 由API提供支持)

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

准备工作:

了解Java对XML文件的解析

了解Java对文件的读写(用于存储Cache文件)

程序流程:

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

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

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

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

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

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

难点:

返回的XML层次极为复杂, 需要逐级拆解以提取有效信息

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

注意事项:

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方法去解析XML中的节点信息

逐层解析后, 将收集到的信息根据XML中的结点层次有序的反馈在CLI中

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

截图:

帮助信息(正在完善中)

有效查询结果

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

linux英英词典项目,[开发手记] 一款基于命令行的英英词典 (A CLI-Based EE Dictionary)...相关推荐

  1. 命令行工具开发:如何快速实现命令行提示?

    简介:对于稍微复杂一些的命令行工具,命令行的提示功能必不可少.那么对于不同语言的开发者,有没有一种简单快捷的实现方式呢?本文分享一种快速实现的方法,使用YAML文件定义命令行工具的使用规范,再通过工具 ...

  2. linux日志切割命令,Linux 服务器log日志切割三种方法【附命令行】

    今天爱分享给大家带来Linux 服务器log日志切割方法[三种附命令行],希望能够帮助到大家. 业务服务器上产生了一个 10G 的log文件,然后很悲催的是什么样的文本编辑器都打不开,然后只能切分一下 ...

  3. 树莓派linux界面命令行,Linux/Raspberry Pi下使用基于命令行的网页浏览器

    本文将向你介绍如何在树莓派上安装3个不同的基于文本的网页浏览器.大多数的网页浏览器在小派上运行都有点吃力,要不就是会消耗大量资源,所以一个替代方案就是使用一个基于命令行的网页浏览器. 到目前为止基于文 ...

  4. linux下wps 点击无反应 无法打开 在命令行也打不开,最开始可以打开,关机重启之后不能够打开

    linux下wps 点击无反应 无法打开 在命令行也打不开,安装之后可以打开,关机重启之后打不开了 解决方案: 删除~/.config/Kingsoft文件 然后重启,一切正常 转载自https:// ...

  5. Linux下一款可以使用命令行的pdf阅读器

    Zathura是linux下一款用命令行控制打pdf阅读器,并且基本打使用方法和vim很相似.对于喜欢键盘操作的用户来说的确是一个不错的选择. ubuntu下的安装命令: sudo apt-get i ...

  6. 【Linux编程】二、Linux常见工具和项目开发(思维导图总结)

    文章目录 Linux 软件包管理工具 yum 什么是软件包? 关于rzsz 注意事项 查看软件包 如何安装软件 如何卸载软件 总结:三板斧操作 用yum来安装几个好玩的东西 前期准备 安装小火车 安装 ...

  7. sdcv: 在Ubuntu中使用命令行查询离线英文词典

    在Ubuntu中,通过**sdcv**可以在命令行终端环境中查询英文单词,词库以离线形式存在.**sdcv**是词典**StartDcit**的命令行终端版本. ### Installation 通过 ...

  8. 又是一个名叫草泥马的项目:thefuck--修复错误的命令行扩展

    CSDN GitHub 又是一个名叫草泥马的项目:thefuck AderXCoding/system/tools/the_fuck 本文转载自 又是一个名叫草泥马的项目:thefuck 一般而言,能 ...

  9. 【Android 安全】DEX 加密 ( Java 工具开发 | 生成 dex 文件 | Java 命令行执行 )

    文章目录 一.生成 dex 文件 二.生成 dex 文件代码示例 三.生成 dex 结果 参考博客 : [Android 安全]DEX 加密 ( 常用 Android 反编译工具 | apktool ...

  10. 使用.NET Core快速开发一个较正规的命令行应用程序

    程序员的世界,命令行工具一直是"体验非常友好"的工具,也能自动化完成很多事情,同时还能结合shell来进行某项任务的批处理(脚本).在.NET Core中,命令行应用程序是基础,但 ...

最新文章

  1. 【OkHttp】OkHttp 源码分析 ( OkHttpClient.Builder 构造器源码分析 )
  2. RSA 公钥加密——私钥解密
  3. jboss4.2.3_JBoss 4.2.x Spring 3 JPA Hibernate教程
  4. pt-show-grants的用法
  5. html 进度条roll,js实现增加数字显示的环形进度条效果
  6. ireport在springboot中中文不显示解决
  7. 侧信道攻击之模板攻击
  8. 基于python及图像识别的围棋棋盘棋子识别1——定位棋盘位置
  9. NYOJ 17 (最长单调递增子序列) O (n*n) + O(n*lgn)
  10. Ucinet三天写论文!自同构对等分析实战
  11. 网络流(4)——带有容量的顶点和二部匹配
  12. 日本知名汽车零部件公司巡礼系列之株式会社70
  13. office安装错误“错误25004,您输入的产品密钥无法在此计算机上使用,-----------”
  14. 【UOJ】UER#3.B 开学前的日历
  15. 国外部分音乐人工智能/音乐科技研究机构科研项目简介
  16. 小程序页面中时间戳-获取当前年月日
  17. 集成 Jira 与钉钉和企业微信通知
  18. SVG描边动画实现过程
  19. 截至2017年1月59家金融租赁公司
  20. Windows下Tesseract训练音符识别

热门文章

  1. adc0808的c语言编程51,51单片机驱动ADC0808电路图C51及汇编程序
  2. asp.net小区停车场管理系统
  3. java 批量打印pdf文件_java 打印tiff及批量打印图片技术文章.doc
  4. python spyder下载_2.4 熟悉Anaconda3的开发工具——Spyder
  5. python3的spyder安装_Python开发环境Spyder安装教程
  6. 萤火虫小程序_实测!成都人私藏的免费耍水地,抓螃蟹、烤烧烤、赏萤火虫,周末一天来回!...
  7. OCR电子发票批量自动合成软件
  8. 游戏专用Win10 64位 竞技超棒专业版
  9. 推荐Go语言开源项目:Excelize ,获取阿里云ECS实例监控数据导出到自定义Excel表格(二)
  10. apk倒入android studio,反编译apk导入android studio