Я создаю программу на 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();
}