Animate CC AS3, как управлять данными при записи в файл - PullRequest
0 голосов
/ 30 ноября 2018

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

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

Мне также нужно иметь возможность управлять тем, как данные записываются в файл.Так, например, я хочу иметь 2 массива: Array1 хранит имена и Array2 хранит числа.Поэтому, когда программа записывает в файл, она должна записывать в каждой строке соответствующие значения определенного индекса в массивах.Так что если Array1(0) = name1 & Array2(0) = 52, в файле должно быть написано:

name1 52

Если не совсем так, то способ, которым данные могут быть записаны управляемым способом.Я пытаюсь это сделать в Windows 10 / AIR.

Мои вопросы:

Как мне управлять тем, как данные записываются в файл?

Какой код использовать?Я нахожу информацию о двух способах подойти к этому:

a.Код с использованием «Файл» и «FileStream», который не работает!Я получаю сообщения об ошибках: «Тип не был найден или не был константой времени компиляции» для обоих, как система не распознает команды.Эти команды все еще можно использовать в текущей версии Animate CC?

b.Фрагменты кода / кода AIR, которые действительно работают, однако я не могу найти способ управлять тем, как данные записываются в файл, как объяснено выше.Каждый раз, когда что-то записывается в файл, предыдущие данные перезаписываются.

Ниже кода codenipets, который работает.

/* Click to Write to a Text File

Clicking on the specified object will prompt the user to select a location and file name and save a text string to it.

Instructions:

To set what data is saved to the file change "Text to save to file." to the data you wish to save.

*/

import flash.filesystem.File;

import flash.filesystem.FileMode;

import flash.filesystem.FileStream;

movieClip_1.addEventListener(MouseEvent.CLICK, fl_SaveFile);

var fl_FileDataToSave:String = "Text to save to file.";

var fl_SaveFileStream:FileStream = new FileStream(); // FileStream used to write to the file

var fl_SaveFileChooser:File = File.documentsDirectory; // Default to the documents directory

fl_SaveFileChooser.addEventListener(Event.SELECT, fl_WriteFileHandler);

// Opens a Save As dialog box for user to specify a file name

function fl_SaveFile(event:MouseEvent):void

{

fl_SaveFileChooser.browseForSave("Save As:");

}

// Write data in fl_FileDataToSave variable

function fl_WriteFileHandler(event:Event):void

{

fl_SaveFileChooser = event.target as File;

fl_SaveFileStream = new FileStream();

fl_SaveFileStream.openAsync(fl_SaveFileChooser, FileMode.WRITE);

fl_SaveFileStream.writeMultiByte(fl_FileDataToSave, File.systemCharset);

fl_SaveFileStream.close();

}
...