在 Java 应用程序中使用 Java 字典和辞典 API
Java 字典和辞典 API(JADT)是 alphaWorks 上发布的辞典特性的 API,是一个基于标准的类库,用于在 Java 应用程序里访问语言特 性。它为 Java 程序员提供了透明的以 Java 为中心的方法,用以访问字典和非结构化单词,以及有关它们的信息。本文是由两部分组成的 系列文章的第 1 部分,涉及的内容是用 JADT 开发增强字典和辞典的 Java 应用程序。第 2 部分提供了对体系结构和 API 的详细考察。
JADT 概述
JADT 是用于从 Java 编程语言中访问辞典数据的 API。它提供了可以在 Java 应用程序中使用的通用接口,独立于字典/数据提供者的 实现。使用 JADT,用 Java 语言编写的应用程序就可以访问某个具体单词的定义、发音、同义词、反义词等信息。
JADT 的特性包括:
访问字典、辞典和其他服务的接口
多语言转换接口
基于驱动程序的访问协议
用于字典提供者和驱动程序开发人员的 API
访问后端字典或辞典,比如数据库、文件系统或基于 XML 的文件(只要实现了它们的驱动程序)
JADT 对于辞典数据访问应用程序来说是一个非常有用的 API,因为它为执行这类任务提供了简单的、标准的技术。它把应用程序开发人 员 从维护数据和数据访问点的痛苦中解救出来。
对于很多使用多语言特性、本地化和类似特性的应用程序来说,这个 API 的实现会非常有用。例如,在编辑的时候,编辑可以用这个技 术进行拼写检查,或者得到更多合适单词的建议。另一个示例应用可能是,让需要翻译的应用程序可以使用多语言字典和辞典。
除此之外,JADT 还提供了语言中立的接口,这让它可以用于各种语言和方言。而且,由于 ADT 是用 Java 语言编写的,它的示例驱动 程序也是用 Java 语言实现的,所以它是平台无关的。
JADT 数据结构
JADT 包括各种不同的组件和服务,取决于所使用的 JADT 的特性或具体的子集。您的 JADT 旅程的第一站,是一组提供数据组织的一般 方法的类和接口。因为所有服务都使用这些数据结构,所以 JADT 用户对它们的了解,是非常重要的。
单词列表
WordList 类就是一个单词的容器。它不从后端资源取数据。WordList 一般用于传递、取得或包含成组的单词。除此之外,还有一个选 项,用于查找符合特定规则的所有单词。例如,它目前支持查找带有相似前缀或后缀的单词,支持共享某些子串的单词查找。它与 WordLister 服务不同,因为它不从后台资源取词,所以它仅仅是一个包装类。它还可以用于单词集合,如清单 1 所示:
清单 1. Wordlist 作为集合的用法
WordList wordlist= wordlister.findWithPrefix("un");
//Getting collection of words one by one
wordlist.start();
while(wordlist.hasMoreWords())
{
Word word=wordlist.getNext();
}
// Using WordList further to narrow down the search
// www.bianceng.cn
WordList wordlist2= wordlist.findWithSuffix("ing");