По моему опыту (у меня нет прямой документации для резервного копирования), Flash не может открывать очень большие текстовые файлы.У меня была та же проблема, что и у вас при импорте словаря.
Я закончил тем, что превратил словарь в класс ActionScript, так что мне не нужно было загружать файл и анализироватьэто в словарь для лучшего поиска, словарь уже был проанализирован и сохранен в массиве.Поскольку члены массива уже отсортированы, я использовал простую функцию поиска с полуинтервалом (http://en.wikipedia.org/wiki/Binary_search_algorithm), чтобы определить, содержит ли словарь слово или нет.
По сути, ваш словарь будет выглядеть так:
public class DictSOWPODS {
protected var parsedDictionary : Array = ["firstword", "secondword", ..., "lastword"]; // yes, this will be the hugest array initialization you've ever seen, just make sure it's sorted so you can search it fast
public function containsWord(word : String) : Boolean {
var result : Boolean = false;
// perform the actual half-interval search here (please do not keep it this way)
var indexFound : int = parsedDictionary.indexOf(word);
result = (indexFound >= 0)
// end of perform the actual half-interval search (please do not keep it this way)
return result;
}
}
Единственное, что вы теряете, используя класс AS вместо текстового файла, это то, что вы не можете изменить его во время выполнения (если вы не используете swc для хранения класса), но так как вы уже встраивалитекстовый файл в формате .swf, это, безусловно, лучшее решение (не нужно загружать и анализировать файл). Также важно отметить, что если ваш словарь действительно очень большой, компилятор флэш-памяти в конечном итоге взорвется от стыда.
РЕДАКТИРОВАТЬ:
Я превратил SOWPODS, которые я нашел здесь http://www.isc.ro/en/commands/lists.html в рабочий класс, получите его здесь: http://www.4shared.com/file/yQl659Bq/DictSOWPODS.html?