我在我的应用中使用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);
}
请告诉我如何解决这个问题?
答案 0 :(得分:1)
使用您的代码示例和Squiggly附带的字典文件,.nativePath
可以正常工作。但是,当dictionaryURL
是ANSI (Windows-1252).以外的编码中的文本文件时,我得到“null无法解析”错误。使用文本编辑器可以非常轻松地转换文件。
但是,如果您尝试拼写检查使用该编码范围之外的字符的语言,则标准加载方法将无效。我能想到的唯一解决方法是_newDict.squigglyDictionary.addWord
,它似乎接受所有字符。
当字典文件为空时我也收到错误。所以这也可能是问题。