拼写检查错误:null无法解析为波浪形字典

时间:2012-05-16 17:08:13

标签: actionscript-3 air filesystems directory

我在我的应用中使用Squiggly组织了一个拼写检查器(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);
}

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

1 个答案:

答案 0 :(得分:1)

使用您的代码示例和Squiggly附带的字典文件,.nativePath可以正常工作。但是,当dictionaryURLANSI (Windows-1252).以外的编码中的文本文件时,我得到“null无法解析”错误。使用文本编辑器可以非常轻松地转换文件。

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

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