0

我在我的应用程序 ( http://labs.adobe.com/technologies/squiggly/ ) 的帮助下组织了一个拼写检查器。

_newdict.addEventListener(Event.COMPLETE, handleLoadComplete);
_newdict.load("dictionaries/en_EN/en_EN.aff", "dictionaries/en_EN/en_EN.dic");

当字典文件与应用程序位于同一文件夹中时,一切正常。但是字典很大(超过 5MB)。因此根据用户需求加载它。文件不能保存程序文件夹,而只能保存应用程序存储目录。

但是,初始化字典时出现错误:null 无法解析为波浪形字典。我已经尝试了两种方法:file1.nativePath 和 file1.url,它仍然是错误。

var file1:File = File.applicationStorageDirectory.resolvePath("dictionaries/en_EN/en_EN.aff");
var file2:File = File.applicationStorageDirectory.resolvePath("dictionaries/en_EN/en_EN.dic");
if (!file1.exists || !file2.exists){
    //download files from the server
} else {
    _newdict.addEventListener(Event.COMPLETE, handleLoadComplete);
    _newdict.load(file1.nativePath,file2.nativePath);
   //_newdict.load(file1.url,file2.url);
}

请告诉我如何解决这个问题?

4

1 回答 1

1

使用您的代码示例和 Squiggly 附带的字典文件.nativePath可以正常工作。但是,当文本文件采用ANSI(Windows-1252)dictionaryURL以外的编码时,我会收到“无法解析 null”错误。使用文本编辑器可以很容易地转换文件。

但是,如果您尝试对使用超出该编码范围的字符的语言进行拼写检查,则标准加载方法将不起作用。我能想到的唯一解决方法是_newDict.squigglyDictionary.addWord,它似乎接受所有字符。

当字典文件为空白时,我也收到错误消息。所以这也可能是问题所在。

于 2012-05-16T20:51:42.933 回答