AS3 - Как импортировать переменные из текстового файла? - PullRequest
3 голосов
/ 12 ноября 2011

Я не смог найти хороший, ясный вопрос и ответ на этот вопрос в StackExchange, поэтому я изложу это настолько четко, насколько смогу, и, надеюсь, получу четкий и краткий ответ.

Предположим, у меня есть файл .txt* с переменными для набора объектов одного типа, который я должен был загрузить в программу ActionScript 3. Я могу использовать оператор импорта, например:

[Embed(source="test.txt",mimeType="application/octet-stream")]
private var testFile:Class;

для некоторых мест, где мне нужно это сделать, но мне также нужно знать, чем они отличаются для файлов, выбранных пользователем с локального жесткого диска.

В коде, как я могу преобразовать этот файл, testFile:Class в массив, result:Array, из строк?

*: Если у вас есть решение, использующее .xml или другой формат, пожалуйста, включите также пример того, как будет выглядеть содержимое файла, и как вы можете получить их в переменные в AS3

Редактировать: Ниже приведен краткий пример файла, который я создал вместе, test.txt:

testing
1
2
3
4
5
testing
6
7
8
9
10

И код, который мне в настоящее время приходится пытаться импортировать как строку (которую я затем могу использовать string.split ("\ n") для преобразования в массив) ... который создает пустую строку, а не выше:

var fileContent:String = new textFile() as String;
trace(fileContent); // Trace comes back with "null" and 
         // the next line crashes my program for a null reference.
var result:Array = fileContent.split('\n');

1 Ответ

2 голосов
/ 12 ноября 2011

Если вы создадите экземпляр testFile, тогда это будет строковая переменная.Затем вы можете разобрать строку любым удобным вам способом.Например, содержимое файла:

line 1
line 2
line 3

И массив результатов должен быть: ['line 1', 'line 2', 'line 3']

Затем сделайте это:

var fileContent:String = new testFile();
var result:Array = fileContent.split('\n') as String;
...